Content deleted Content added
Stevebroshar (talk | contribs) Move interesting info to (overly short) intro |
Stevebroshar (talk | contribs) →Job control languages: Simplify |
||
Line 24:
However, this scheduling has drawbacks. A process that seldom waits (i.e. does not use a peripheral) would hog the processor until it completed or was interrupted. Other processes would then be starved of processor resources and might become slow. This can be resolved via [[Preemption (computing)|preemptive]] multitasking, a.k.a. time slicing, in which each process is swapping out after it has had the processor for a period of time. Further, a process can be given a priority that allows it to be given more access to the process relative to lower priority processes.
==Language==
===Batch===
Early computer [[resident monitor]]s and [[operating system]]s were relatively primitive and were not capable of sophisticated resource allocation. Typically such allocation decisions were made by the computer operator or the user who submitted a job. [[Batch processing]] was common, and interactive computer systems rare and expensive. Job control languages developed as primitive instructions, typically punched on cards at the head of a deck containing input data, requesting resources such as memory allocation, serial numbers or names of magnetic tape spools to be made available during execution, or assignment of filenames or devices to device numbers referenced by the job. A typical example of this kind of language, still in use on mainframes, is [[IBM]]'s [[Job Control Language]] (also known as JCL). Though the format of early JCLs was intended for [[punched card]] use, the format survived the transition to storage in computer files on disk.
|