
- •1)Introduction to computer architecture. Organizational and methodical instructions
- •2)Interrupts. Interrupts and the Instruction Cycle. Interrupt Processing. Multiprogramming.
- •3)Introduction to Operating systems (os), general architecture and organization.
- •Introduction to os Organization
- •4)Major Achievements of os: the Process; Memory Management; Information Protection and Security; Scheduling and Resource Management; System Structure.
- •5)Process Description and Control
- •6)Process States. Process Models.The Creation and Termination of Processes.Suspended Processes.
- •7)Process Description. Operating System Control Structures.Process Switching.
- •8)Memory Management
- •10)Memory Management Requirements. Relocation. Protection. Sharing.
- •11.Memory Partitioning. Relocation.
- •12) Virtual Memory. Paging. Segmentation. Combined Paging and Segmentation.
- •13) Replacement Policy. First-Come-First-Served, Round-Robin algorithms
- •14) Replacement Policy. Shortest Process Next, Shortest Remaining Time algorithms.
- •15)File Organization and Access.
- •16.Secondary Storage Management.
- •17.Short history of Windows, general architecture, software configuration, registry, main administration tools; the boot process.
- •18. Mutual Exclusion and Synchronization
- •19. Programming tools for mutual exclusion: locks, semaphores
- •20. Deadlock: general principle, synchronization by events, monitors, the producer/consumer example, the dining philosophers’ problem
- •21. Disk scheduling. Raid-arrays
- •22. Input-output management
- •23. Page replacement algorithms
- •24. Mutual exclusion and synchronization
- •25. Overview of computer hardware
- •26.Uniprocessor scheduling.
- •27.Implementation of disk scheduling algorithms sstf, scan.
- •28. Implementation of disk scheduling algorithm look.
- •29. Implementation of lru replacement algorithm.
- •31.Briefly describe basic types of processor scheduling. Examples
- •I/o scheduling
- •32.What is the difference between preemptive and nonpreemptive scheduling? Examples.
5)Process Description and Control
Processes and Process Control Blocks.
Each process in the system is represented by a data structure called a Process Control Block (PCB), or Process Descriptor in Linux, which performs the same function as a traveller's passport. The PCB contains the basic information about the job including:
Whatitis
Whereitisgoing
How much of its processing has been completed
Whereitisstored
How much it has “spent” in using resources
Process Identification: Each process is uniquely identified by the user’s identification and a pointer connecting it to its descriptor.
Process Status: This indicates the current status of the process; READY, RUNNING, BLOCKED, READY SUSPEND, BLOCKED SUSPEND.
Process State: This contains all of the information needed to indicate the current state of the job.
Process Control Block (PCB, also called Task Controlling Block, Task Struct, or Switchframe) is a data structure in the operating system kernel containing the information needed to manage a particular process. The PCB is "the manifestation of a process in an operating system".[1]
If the mission of the operating system is to manage computing resources on behalf of processes, then it must be continuously informed about the status of each process and resource. The approach commonly followed to represent this information is to create and update status tables for each relevant entity, like memory, I/O devices, files and processes. Memory tables, for example, may contain information about the allocation of main and secondary (virtual) memory for each process, authorization attributes for accessing memory areas shared among different processes, etc. I/O tables may have entries stating the availability of a device or its assignment to a process, the status of I/O operations being executed, the location of memory buffers used for them, etc. File tables provide info about location and status of files (of course, what else? more on this later). Finally, process tables store the data the OS needs to manage processes. At least part of the process control data structure is always maintained in main memory, though its exact location and configuration varies with the OS and the memory management technique it uses.
6)Process States. Process Models.The Creation and Termination of Processes.Suspended Processes.
Process description and control
Each process in the system is represented by a data structure called a Process Control Block (PCB), or Process Descriptor in Linux, which performs the same function as a traveller's passport. The PCB contains the basic information about the job including:
Process Identification: Each process is uniquely identified by the user’s identification and a pointer connecting it to its descriptor.
Process Status: This indicates the current status of the process; READY, RUNNING, BLOCKED, READY SUSPEND, BLOCKED SUSPEND.
Process State: This contains all of the information needed to indicate the current state of the job.
[edit]Processor models
Contemporary processors incorporate a mode bit to define the execution capability of a program in the processor. This bit can be set to kernel mode or user mode. Kernel mode is also commonly referred to assupervisor mode, monitor mode or ring 0. In kernel mode, the processor can execute every instruction in its hardware repertoire, whereas in user mode, it can only execute a subset of the instructions. Instructions that can be executed only in kernel mode are called kernel, privileged or protected instructions to distinguish them from the user mode instructions.
Operating systems need some ways to create processes. In a very simple system designed for running only a single application (e.g., the controller in a microwave oven), it may be possible to have all the processes that will ever be needed be present when the system comes up. In general-purpose systems, however, some way is needed to create and terminate processes as needed during operation. Process creation in UNIX and Linux are done through fork() or clone() system calls. There are several steps involved in process creation. The first step is the validation of whether the parent process has sufficient authorization to create a process. Upon successful validation, the parent process is copied almost entirely, with changes only to the unique process id, parent process, and user-space. Each new process gets its own user space.[1]
[edit]Process termination
There are many reasons for process termination:
Process executes a service request to terminate
Time limit exceeded
Memory unavailable
Protection error; for example: attempted write to read-only file
Arithmetic error; for example: attempted division by zero
Time overrun; for example: process waited longer than a specified maximum for an event
I/O failure
Invalid instruction; for example: when a process tries to execute data (text)
Privilegedinstruction
Data misuse
Operating system intervention; for example: to resolve a deadlock
Parent terminates so child processes terminate (cascading termination)