These are the pieces of the operating system components we’ll be looking at:
- Process Management
- Main Memory Management
- File Management
- I/O System Management
- Secondary Management
- Protection System
- Command-Interpreter System
A process is a program in execution: (A program is passive, a process active.)
A process has resources (CPU time, files) and attributes that must be managed.
Management of processes includes:
- Process Scheduling (priority, time management)
- Block/Unblock (suspension/resumption )
- Deadlock handling
Main Memory Management
- Allocation/de-allocation for processes, files, I/O.
- Maintenance of several processes at a time
- Keep track of who’s using what memory
- Movement of process memory to/from secondary storage.
A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data.
The operating system is responsible for the following activities in connections with file management:
- File creation and deletion.
- Directory creation and deletion.
- Support of primitives for manipulating files and directories.
- Mapping files onto secondary storage.
- File backup on stable (nonvolatile) storage media.
- Buffer caching system
- Generic device driver code
- Drivers for each device – translate read/write requests into disk position commands.
Secondary Storage Management
- Disks, tapes, optical,
- Free space management ( paging/swapping )
- Storage allocation ( what data goes where on disk )
- Disk scheduling
Operating System Structures
- Communication system between distributed processors.
- Getting information about files/processes/etc. on a remote machine.
- Can use either a message passing or a shared memory model.
- Of files, memory, CPU, etc.
- Means controlling of access
- Depends on the attributes of the file and user
- Command Interpreters — Program that accepts control statements (shell, GUI interface.)
- Communications (ftp, telnet, operating system components)
|Read More Topics|
|Application of linked list|
|Dynamic memory allocation|
|The relationship between C and C++|
|Virtual function in C++|
|Abstract class in C++|