- Single user (no OS).
- Batch, uniprogrammed, run to completion.
- The OS now must be protected from the user program so that it is capable of starting (and assisting) the next program in the batch).
- Multiprogrammed
- The purpose was to overlap CPU and I/O
- Multiple batches
- IBM OS/MFT (Multiprogramming with a Fixed number of Tasks)
- The (real) memory is partitioned and a batch is assigned to a fixed partition.
- The memory assigned to a partition does not change
- IBM OS/MVT (Multiprogramming with a Variable number of Tasks) (then other names)
- Each job gets just the amount of memory it needs. That is, the partitioning of memory changes as jobs enter and leave
- MVT is a more ``efficient'' user of resources but is more difficult.
- When we study memory management, we will see that with varying size partitions questions like compaction and ``holes'' arise.
- IBM OS/MFT (Multiprogramming with a Fixed number of Tasks)
- Time sharing
- This is multiprogramming with rapid switching between jobs (processes). Deciding when to switch and which process to switch to is called scheduling.
- We will study scheduling when we do processor management
- Multiple computers
- Multiprocessors: Almost from the beginning of the computer age but now are not exotic.
- Network OS: Make use of the multiple PCs/workstations on a LAN.
- Distributed OS: A ``seamless'' version of above.
- Not part of this course (but often in G22.2251).
- Real time systems
- Often in embedded systems
- Soft vs hard real time. In the latter missing a deadline is a fatal error--sometimes literally.
- Very important commercially, but not covered much in this course.
< Prev | Next > |
---|