( t 1) and the interval between the last two references ( t 2). This history was used to define the time since the most recent reference Into memory every 1,024 instructions, and the last 32 values of these bits were retained. The reference bits were readĨ96 Chapter 20 Influential Operating Systems A reference bit for each frame was set whenever the frame was accessed.
The page-replacement algorithm attempted to predict future memory-accessing behavior based on past behavior. One memory frame was always kept empty, so that a drum transfer could start immediately. If a page fault occurred, a page-replacement algorithm was invoked. An associative memory of 32 registers implemented the mapping from a virtual address to a physical address. Memory was divided into 512-word pages, providing 32 frames in physical memory. The physical memory for Atlas was a 98- KB-word drum and 16- KB words of core. At that time, this was an extremely large address space. Addresses were 24 bits but were encoded in decimal, which allowed 1 million words to be addressed. The Atlas system used a British computer with 48-bit words. Demand paging was used to transfer information between core memory and the drum automatically. The Atlas system used a drum for its main memory, but it had a small amount of core memory that was used as a cache for the drum. Many computers, like the IBM 650, used a drum for primary memory. Core memory was new and expensive at the time. The most remarkable feature of Atlas, however, was its memory management. Spooling allowed the system to schedule jobs according to the availability of peripheral devices, such as magnetic tape units, paper tape readers, paper tape punches, line printers, card readers, and card punches. In addition, system calls were added by a set of special instructions called extra codes.Ītlas was a batch operating system with spooling.
Nms atlas pass drivers#
Device drivers were a major part of the system. Many of its basic features that were novel at the time have become standard parts of modern operating systems. The Atlas operating system was designed at the University of Manchester in England in the late 1950s and early 1960s. Spooling leads naturally to multiprogramming, which is the foundation of all modern operating systems. Thus, spooling can keep both the CPU and the I/O devices working at much higher rates. For the cost of some disk space and a few tables, the computation of one job and the I/O of other jobs can take place at the same time. Spooling has a direct beneficial effect on the performance of the system. During this time, still another job (or other jobs) may be executed, reading its “cards” from disk and “printing” its output lines onto the disk. Even in a simple system, the spooler may be reading the input of one job while printing the output of a different job. Spooling overlaps the I/O of one job with the computation of other jobs. The CPU just needs to be notified when the processing is completed, so that it can spool the next batch of data.
The remote processing is done at its own speed, with no CPU intervention. The CPU sends the data via communication paths to a remote printer (or accepts an entire input job from a remote card reader). Spooling is also used for processing data at remote sites.