3-1 Operating system (OS):
• A collection of programs that manages resources of a computer,
- input/output devices.
• ... like the conductor of an orchestra.
• A virtual machine that lets a user accomplish tasks that would be difficult to perform directly with the underlying actual machine.
- graphical user interface.
- virtual memory: provide more memory than in RAM.
- multiprogramming: seemingly run more than one program at a time.
3-1-1 Evolution of Operating Systems:
First Generation OS (1945-1955):
Second Generation OS (1955-1965):
Figure 3-1Multiprogramming OS
•time sharing :
- divides processor time up into slices.
- the slices are divided “fairly” among competing jobs.
Figure 3-2 time sharing
- the user does not have to wait for one process to be finished until the next process (program, action) can be started.
Multi-user Operating Systems:
The efficiency of a time-sharing
system depends on:
- the speed of the processor
- the length of the time slices
- how many users perform operations that require a full time slice.
Multi-user OS s are mainly used in distributed, rather than centralized, environments, where several machines share resources over a network.
Single-User OS and Multiprogramming:
multitasking: Lets the OS switch between the tasks at its own discretion.
==> Perform different tasks at the “same time” (printing, compiling, searching on the web, ...).
Network Operating Systems:
Figure 3-3 Network Operating Systems
3-1-2 Booting an Operating System:
Figure 3-4 Booting an Operating System
Starting up an operating system:
3-1-3 Operating System Architecture:
Operating System Architecture
is an active copy of a program
- that has been loaded into memory (RAM)
- with its own program counter indicating the next instruction to execute.
process creates its own context (= process state).
There may be more than one process for the same program (e.g.,start two different editor programs).
The memory manager coordinates the use of the machine’s memory.
• It keeps track of which areas of memory are being used by which processes.
• It may anticipate how much memory each process will need.
• It may provide virtual memory, where “swap .les” on a harddrive are used to extend the RAM.
I/O System Manager:
The I/O system manager coordinates the assignment of peripheral devices to processes, through specific device drivers.
The file manager keeps track of information about .les on the disks:
- protects against unauthorized file access.
- supports sharing of file resources.
- helps organizing files into folders.
Dispatcher: The dispatcher
monitors processes and decides when to switch execution from one process to
Figure 3-6 Dispatcher
When a process completes ...
==> the dispatcher reports back to the scheduler,
==> the scheduler notifies the resource allocator,
==> the resource allocator releases any resources held by that process,
==> the scheduler then reports completion of the process to the command processor,
==> the command processor informs the user.