CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203

Size: px
Start display at page:

Download "CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203"

Transcription

1 CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203 L T P C PURPOSE Every computer professional should have a basic understanding of how an operating system controls the computing resources and provide services to the users. This course provides an introduction to the operating system functions, design and implementation. It serves as strong foundation for other courses like networks, compiler design, data base systems. INSTRUCTIONAL OBJECTIVES The students learn about: 1. Structure and functions of OS 2. Process scheduling, Deadlocks 3. Device management 4. Memory management 5. File systems UNIT 1 INTRODUCTION 9 Computer system overview-basic elements, Instruction execution, Interrupts, memory hierarchy, I/O communication techniques, operating system overview-objectives and functions, Evolution of OS Microsoft windows overview. UNIT 2 PROCESSES 9 Process description and control - process states, process description, process control; Processes and Threads, Symmetric Multiprocessing and microkernel s. Windows Thread and SMP management. Case studies-unix, SOLARIS thread management UNIT 3 CONCURRENCY AND SCHEDULING 9 Principles of concurrency - mutual exclusion, semaphores, monitors, Readers/Writers problem; Deadlocks prevention- avoidance detection.scheduling : Types of scheduling scheduling algorithms. Case studies- UNIX scheduling. UNIT 4 MEMORY 9 Memory management requirements, partitioning, paging, and segmentation; Virtual memory - Hardware and control structures, operating system software, Linux memory management, case studies- WINDOWS memory management, UNIX and SOLARIS Memory management UNIT 5 INPUT/OUTPUT AND FILE SYSTEMS 9 I/O management and disk scheduling I/O devices, organization of I/O functions; OS design issues, I/O buffering, disk scheduling, Disk cache, File management organization, directories, file sharing, record blocking, secondary storage management; case studies-linux I/O, UNIX File management. TOTAL 45 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 1 of 157

2 Notes for all five units Prepared by Mrs. Antony Vigil A.P[O.G]/SRMU/RMP UNIT 1 INTRODUCTION Computer system overview-basic elements, Instruction execution, Interrupts, Memory hierarchy, I/O communication techniques, Operating system overview-objectives and functions, Evolution of OS Microsoft windows overview. COMPUTER SYSTEM OVERVIEW A program that acts as an intermediary between a user of a computer and the computer hardware is Operating System. Operating system goals: Execute user programs and make solving user problems easier. Make the computer system convenient to use. Use the computer hardware in an efficient manner Computer System Components: 1. Hardware provides basic computing resources (CPU, memory, I/O devices). 2. Operating system controls and coordinates the use of the hardware among the various application programs for the various users. 3. Applications programs define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4. Users (people, machines, other computers). DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 2 of 157

3 Abstract View of System Components: Operating System Definitions: Resource allocator manages and allocates resources. Control program controls the execution of user programs and operations of I/O devices. Kernel the one program running at all times (all else being application programs). Simple Batch Systems: Hire an operator User operator Add a card reader Reduce setup time by batching similar jobs Automatic job sequencing Automatically transfers control from one job to another. Resident monitor Initial control in monitor When job completes control transfers back to monitor DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 3 of 157

4 Memory Layout for a Simple Batch System: Basic Elements Computer =Processor + Memory + I/O modules Processor: Controls the operation of the computer and performs its data processing functions. When there is only on processor, it is often referred to as CPU. Main Memory: Stores data and programs. I/O modules: Move data between the computer and its external environments (e.g., disk drive, network, terminals). System interconnection: Some structures and mechanisms that provide for communication among processors, main memory, and I/O modules DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 4 of 157

5 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 5 of 157

6 Instruction Execution Execute cycle involves data transfer between processor and memory (or an I/O module), data processing or changing control flow. Most processors use pipeline instruction execution and allow Direct Memory Access The processor fetches the instruction from memory o Program counter (PC) holds address of the instruction to be fetched next o Fetched instruction is placed in the instruction register (IR) o Program counter is incremented after each fetch Processor then executes instruction in the IR Categories of instructions: Processor-memory o Transfer data between processor and memory Processor-I/O o Data transferred to or from a peripheral device Data processing o Arithmetic or logic operation on data Control o Alter sequence of execution DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 6 of 157

7 Interrupts Interrupt (or exception): Signal sent to processor e.g. attempt to divide by zero e.g. illegal attempt to access address e.g. execution of trap instruction (to make system call ) e.g. I/O transfer has completed Source and priority of interrupt are recorded All computers provide a mechanism by which other modules may interrupt the normal processing of the processor. The Classes of Interrupts: Program: Generated by some condition that occurs as a result of an instruction. Timer: Generated by a timer within the processor. I/O: Generated by an I/O controller. Hardware failure: Generated by a failure such as power failure. Interrupt is an interruption of the normal sequence of execution. After interrupt is completed, the normal program execution is resumed. Interrupts are provided primarily to improve processing efficiency. E.g., Avoid CPU waiting for slow I/O devices.cpu can continue to execute other instructions DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 7 of 157

8 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 8 of 157

9 Interrupt Cycle: During the interrupt cycle, the processor checks to see if any interrupts have occurred, indicated by the presence of an interrupt signal. If interrupt is pending, the processor suspends execution of the current program and executes an Interrupt Handling Routine. IHR determine the nature of interrupt and performs whatever actions are needed. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 9 of 157

10 Program Timing: Short I/O Wait Program Timing: Long I/O Wait DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 10 of 157

11 Interrupt Processing: Multiple Interrupts: Multiple interrupts can occur close to one another. To disable interrupt when executing the interrupt handler routine. o New interrupts will have to remain pending until the completion of interrupt o Handler routine. o Does not consider priority of interrupts and time-critical needs. To define priorities for interrupts. o High-priority interrupts can interrupt the execution of IHR of low-priority interrupts. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 11 of 157

12 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 12 of 157

13 Interrupt handling: Contents of PC and PSW are stored automatically. Interrupt service routine (ISR) is executed in supervisor mode. ISR may store contents of other registers. ISR may call other operating system routines. Eventually contents of registers may be restored and execution continued in user mode from point of interruption Multiprogramming: More than one process is active on a single processor There is a ready queue of processes waiting for the processor A process must wait after making an I/O request or after a timer interrupt DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 13 of 157

14 Advantage: Faster access time Greater capacity The Memory Hierarchy Going down the hierarchy o Decreasing cost per bit o Increasing capacity o Increasing access time o Decreasing frequency of access of the memory by the processor Storage devices can be put in order of increasing capacity, namely, o registers, cache memory, main memory, hard disk, tape o access time also increases DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 14 of 157

15 o cost per bit decreases o first three are volatile caching o copying information into faster device Secondary memory: Managed by the operating system Nonvolatile Auxiliary memory Used to store program and data files Cache Memory: Processors can execute instructions faster than instructions (and data) can be fetched from main memory Cache memory provides a solution which relies on locality of reference and is invisible to OS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 15 of 157

16 I/O module Is an interface between the bus and a device Hides the complexity of the device from the processor The processor issues commands to an I/O module The I/O module controls the device to perform the requested action It also buffers data and maintains a status register that the processor can read Techniques for performing I/O: (i) Programmed I/O (ii) Interrupt-driven I/O (iii)direct memory access (DMA) (i) Programmed I/O I/O module performs the requested action No interrupts occur Module sets appropriate bits in the I/O status register Processor checks status until operation is complete Processor does a busy-wait for each character DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 16 of 157

17 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 17 of 157

18 (ii)interrupt-driven I/O Processor is interrupted when I/O module ready to exchange data Processor saves context of program executing and begins executing interrupt handler No needless waiting Involves much processor overhead because... o Every character read or written passes through the processor o One interrupt for each character DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 18 of 157

19 (iii)direct memory access (DMA) Transfers an entire block of data directly to or from memory An interrupt is sent when the transfer of the entire block is complete One interrupt per block of data A DMA controller transfers data directly between a device (typically a disk) and memory. o The data does not pass through the processor The I/O module has authority to read from or write to memory o This relieves the processor responsibility for the exchange The DMA competes with the processor for memory access o This is known as cycle stealing o Although cycle stealing halts the processor, this is not an interrupt DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 19 of 157

20 Operating System Overview: Objectives & Functions An operating system (OS) is a program that controls the execution of application programs and acts as an interface between the user of a computer and the computer hardware. Convenience o Makes the computer more convenient to use. Efficiency o Allows computer system resources to be used in an efficient manner Ability to evolve o Permit effective development, testing, and introduction of new system functions without interfering with service DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 20 of 157

21 Convenience: Services provided by the operating system: Program development o Editors and debuggers Program execution Access to I/O devices Controlled access to files System access o Login and passwords Error detection and response o Internal and external hardware errors o Memory error o Device failure o Software errors o Arithmetic overflow o Access forbidden memory locations o Operating system cannot grant a request made by an application Accounting o Collect usage statistics o Monitor performance o This information can be used... o To anticipate future enhancements o For billing purposes Efficiency: The OS promotes efficiency by managing resources o Processor(s) o Memory o Devices o Files DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 21 of 157

22 The OS functions same way as ordinary computer software o It is program that is executed o The OS frequently relinquishes control of the processor and relies on the processor to regain control Ability to evolve: A major OS should be able to evolve over time in response to... Hardware upgrades and new types of hardware such as o Paging hardware for virtual memory o Multiple processors New services such as o Overlapping windows o Client / server computing Errors in the OS The Operating System as Resource manager: A computer is a set of resources for the movement, storage, and processing of data and for the control of these functions. The operating system is responsible for managing these resources. The operating system is nothing more than a computer program. The operating system functions in the same way as ordinary computer software; that is, it is a program executed by the processor. The operating system frequently relinquishes control and must depend on the processor to allow it to regain control Key difference between OS and other programs: OS can direct processor in the use of other system resources and in the timing of its execution of other program. In order to do this, processor must cease executing OS and execute other programs, i.e., OS relinquishes control of processor. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 22 of 157

23 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 23 of 157

24 Evolution of operating systems (i)serial processing (ii)simple batch systems (iii)multiprogrammed batch systems (iv)time-sharing systems (i) Serial processing: Use card reader. No operating system. 2 main problems: 1. Manual scheduling of use 2. Setup Time Loading the compiler Loading the source program Saving compiled program Loading and linking object files (ii)simple batch systems: Use a piece of software known as the monitor. So users no longer have direct access to the machine 2 points of view: Monitor point of view: Monitor software controlled a sequence of jobs Monitor must always in main memory and available for execution. That portion is referred as Resident Memory. The rest of the monitor consists of utilities and common functions. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 24 of 157

25 Interrupt Processing Monitor Device Drivers Job Sequencing Boundary Control Language Interpreter User Program Area Fig: Memory Layout for a Resident Memory Processor point of view: Processor is executing instructions from the portion of main memory containing the monitor Only one user job could run at a time Processor idle waiting for I/O But idle time between jobs and within jobs eliminated Job Control Language (JCL): A special type of programming language Provides commands to the monitor o Identifies new jobs o Specifies what compiler to use o Specifies which object files to load and link o Specifies what data to use Example of JCL cards (with / /) in a deck DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 25 of 157

26 / / JOB / / FORT < source program cards > / / LOAD / / RUN < data cards > / / END Protection After an //END card or an error, the monitor flushes cards until the next //JOB card Hardware support for simple batch: Memory protection o Does not allow the memory area containing the monitor to be altered by a job Timer o Prevents a job from monopolizing the system Privileged instructions o Certain machine level instructions can only be executed by the monitor E.g. - I/O instructions (a program should not read cards of next job) Note: a program requests that the monitor perform the instruction Interrupts o Allow processor to do something else while waiting for I/O o Early computer models did not have this capability The need for memory protection and privileged instructions led to the concept of processor modes A bit in the PSW register toggles the processor between user mode and kernel mode DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 26 of 157

27 Each user program executes in user mode o Certain privileged instructions may not be executed o Only the program area may be referenced The monitor executes in kernel mode o Privileged instructions may be executed o Protected areas of memory may be accessed (iii) Multiprogrammed batch systems: Several jobs resident in memory simultaneously Gives processor something to do while one job is waiting for I/O DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 27 of 157

28 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 28 of 157

29 (iv)time-sharing systems Adds an interactive computing capability to a multiprogrammed batch system o Processor s time is shared among multiple interactive users o Multiple users simultaneously access the system through terminals Essential for transaction processing systems Example: Compatible Time-Sharing System (CTSS) o First time-sharing system o Developed at MIT in 1961 for the IBM 709 Problems: Multiprogramming and time sharing led to the identification of new problems o Memory protection o File security o Contention for resources E.g. printers DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 29 of 157

30 Microsoft Windows Overview Single-user multitasking OS that evolved out of MS-DOS Modular structure for flexibility o Any module can be removed, upgraded, or replaced without rewriting the entire system Executes on a variety of hardware platforms o Pentium, Itanium, PowerPC, Alpha, etc. o Provided by the Hardware Abstraction Layer (HAL) o This isolates the operating system from platform-specific hardware differences Supports applications written for other operating systems o This is provided by various environment subsystems DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 30 of 157

31 Windows organization Kernel Consists of the most used components o Thread scheduling o Process switching o Interrupt handling o SMP Does not run in threads and is not preemptible Executive Contains base operating system services o Memory management o Process and thread management o Security o I/O o Interprocess communication Hardware abstraction layer(hal) Map between hardware commands and responses Device Drivers Windowing and Graphics system User Mode Processes: Special system support processes Service Processes Environment subsystems User Applications Windows client-server model: Simplifies the Executive o Possible to construct a variety of APIs Improves reliability o Each service runs on a separate process with its own partition of memory o Clients cannot not directly access hardware DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 31 of 157

32 Provides a uniform means for applications to communicate via Local Procedure Call (LPC) Provides base for distributed computing Windows threads and SMP: Operating system routines can run on any available processor or simultaneously on different processors Multiple threads of execution within a single process may execute on different processors simultaneously Server processes may use multiple threads to process requests from multiple processes simultaneously Mechanisms provided to share data and resources between processes Windows Objects: Encapsulation Object Class and instance Inheritance Polymorphism DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 32 of 157

33 UNIT 2 PROCESSES Process description and control - Process states, Process description, Process control, Processes and Threads, Symmetric Multiprocessing and Microkernels, Windows Thread and SMP Management. Case studies-unix, SOLARIS thread management Process description and control Processes: A program in execution An instance of a program running on a computer An entity that can be assigned to and executed on the computer A process is comprised of: o Program code (possibly shared) o A set of data o A number of attributes describing the state of the process Process Control Block (PCB) While the process is running it has a number of elements including o Identifier o State o Priority o Program counter o Memory pointers o Context data o I/O status information o Accounting information DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 33 of 157

34 Process States The behavior of an individual process is shown by listing the sequence of instructions that are executed This list is called a Trace Dispatcher is a small program which switches the processor from one process to another Each process runs to completion Program Counter 8000 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 34 of 157

35 Two-State Process Model: Process may be in one of two states o Running o Not-running DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 35 of 157

36 The creation and Termination of Processes: Creation Termination New batch job Interactive Login Created by OS to provide a service Normal Completion Memory unavailable Protection error Spawned by existing process Operator or OS Intervention Process Creation The OS builds a data structure to manage the process Traditionally, the OS created all processes o But it can be useful to let a running process create another This action is called process spawning o Parent Process is the original, creating, process o Child Process is the new process Reasons for Process Creation: New Batch job Interactive Logon Created by OS to provide a service Spawned by existing process Process Termination There must be some way that a process can indicate completion. This indication may be: o A HALT instruction generating an interrupt alert to the OS. o A user action (e.g. log off, quitting an application) o A fault or error o Parent process Terminating DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 36 of 157

37 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 37 of 157

38 Five-State Process Model DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 38 of 157

39 Suspended Processes: Processor is faster than I/O so all processes could be waiting for I/O o Swap these processes to disk to free up more memory and use processor on more processes Blocked state becomes suspend state when swapped to disk Two new states o Blocked/Suspend o Ready/Suspend DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 39 of 157

40 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 40 of 157

41 Reason for Process Suspension Reason Swapping Other OS Reason Interactive User Request Timing Parent Process Request Comment The OS needs to release sufficient main memory to bring in a process that is ready to execute. OS suspects process of causing a problem. e.g. debugging or in connection with the use of a resource. A process may be executed periodically (e.g., an accounting or system monitoring process) and may be suspended while waiting for the next time. A parent process may wish to suspend execution of a descendent to examine or modify the suspended process, or to coordinate the activity of various descendants. Process Description Processes and Resources: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 41 of 157

42 Operating System Control Structures: For the OS is to manage processes and resources, it must have information about the current status of each process and resource. Tables are constructed for each entity the operating system manages OS Control Tables Memory Tables Memory tables are used to keep track of both main and secondary memory. Must include this information: o Allocation of main memory to processes o Allocation of secondary memory to processes o Protection attributes for access to shared memory regions o Information needed to manage virtual memory DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 42 of 157

43 I/O Tables Used by the OS to manage the I/O devices and channels of the computer. The OS needs to know o Whether the I/O device is available or assigned o The status of I/O operation o The location in main memory being used as the source or destination of the I/O transfer File Tables These tables provide information about: o Existence of files o Location on secondary memory o Current Status o Other attributes. Sometimes this information is maintained by a file management system Process Tables To manage processes the OS needs to know details of the processes o Current state o Process ID o Location in memory Process control block o Process image is the collection of program. Data, stack, and attributes Process Attributes We can group the process control block information into three general categories: o Process identification o Processor state information o Process control information DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 43 of 157

44 Process Identification Each process is assigned a unique numeric identifier. Many of the other tables controlled by the OS may use process identifiers to cross-reference process tables Processor State Information This consists of the contents of processor registers. o User-visible registers o Control and status registers o Stack pointers Program status word (PSW) o contains status information o Example: the EFLAGS register on Pentium processors Pentium II EFLAGS Register: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 44 of 157

45 Structure of Process Images in Virtual Memory: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 45 of 157

46 Process Control Modes of Execution: Most processors support at least two modes of execution User mode o Less-privileged mode o User programs typically execute in this mode System mode o More-privileged mode o Kernel of the operating system Process Creation: Once the OS decides to create a new process it: o Assigns a unique process identifier o Allocates space for the process o Initializes process control block o Sets up appropriate linkages o Creates or expand other data structures Process switch is switch the process state between the status like read, blocked, suspend. Mode switch is the switch the process privilege between the mode like use mode, kernel mode. Generally a mode switch is considered less expensive compared to a process switch. Process Switching: Several design issues are raised regarding process switching o What events trigger a process switch? o We must distinguish between mode switching and process switching. o What must the OS do to the various data structures under its control to achieve a process switch? DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 46 of 157

47 When to switch processes? A process switch may occur any time that the OS has gained control from the currently running process. Possible events giving OS control are: Mechanism Cause Use Interrupt External to the execution of the current instruction Reaction to an asynchronous external event Trap Associated with the execution Handling of an error or an of the current instruction exception condition Supervisor call Explicit request Call to an operating system function The steps in a process switch are: 1. Save context of processor including program counter and other registers 2. Update the process control block of the process that is currently in the Running state 3. Move process control block to appropriate queue ready; blocked; ready/suspend 4. Select another process for execution 5. Update the process control block of the process selected 6. Update memory-management data structure 7. Restore context of the selected process DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 47 of 157

48 Execution of the Operating System DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 48 of 157

49 Non-process Kernel (a) Execute kernel outside of any process The concept of process is considered to apply only to user programs o Operating system code is executed as a separate entity that operates in privileged mode Execution within User Processes (b) o Operating system software within context of a user process o No need for Process Switch to run OS routine Process-based Operating System(c) Process-based operating system o Implement the OS as a collection of system process DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 49 of 157

50 Processes and Threads Resource ownership - process includes a virtual address space to hold the process image Scheduling/execution- follows an execution path that may be interleaved with other processes These two characteristics are treated independently by the operating system o Dispatching is referred to as a thread or lightweight process Multithreading: Operating system supports multiple threads of execution within a single process MS-DOS supports a single thread UNIX supports multiple user processes but only supports one thread per process Windows, Solaris, Linux, Mach, and OS/2 support multiple threads Process: Have a virtual address space which holds the process image Protected access to processors, other processes, files, and I/O resources Thread: An execution state (running, ready, etc.) Saved thread context when not running Has an execution stack Some per-thread static storage for local variables Access to the memory and resources of its process o All threads of a process share this DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 50 of 157

51 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 51 of 157

52 Benefits of Threads Takes less time to create a new thread than a process Less time to terminate a thread than a process Less time to switch between two threads within the same process Since threads within the same process share memory and files, they can communicate with each other without invoking the kernel Uses of Threads in a Single-User Multiprocessing System Foreground to background work Asynchronous processing Speed of execution Modular program structure Threads Suspending a process involves suspending all threads of the process since all threads share the same address space Termination of a process, terminates all threads within the process Thread States: States associated with a change in thread state o Spawn Spawn another thread o Block o Unblock o Finish Deallocate register context and stacks DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 52 of 157

53 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 53 of 157

54 Adobe PageMaker User-Level Threads All thread management is done by the application The kernel is not aware of the existence of threads DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 54 of 157

55 Kernel-Level Threads: Windows is an example of this approach Kernel maintains context information for the process and the threads Scheduling is done on a thread basis Combined Approaches Example is Solaris Thread creation done in the user space Bulk of scheduling and synchronization of threads within application DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 55 of 157

56 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 56 of 157

57 Symmetric Multiprocessing and Microkernels Kernel can execute on any processor Typically each processor does self-scheduling form the pool of available process or threads SMP Architecture: Categories of Computer Systems: Single Instruction Single Data (SISD) stream o Single processor executes a single instruction stream to operate on data stored in a single memory Single Instruction Multiple Data (SIMD) stream o Each instruction is executed on a different set of data by the different processors Multiple Instruction Single Data (MISD) stream o A sequence of data is transmitted to a set of processors, each of which executes a different instruction sequence. Never implemented Multiple Instruction Multiple Data (MIMD) o A set of processors simultaneously execute different instruction sequences on different data sets DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 57 of 157

58 Multiprocessor Operating System Design Considerations: Simultaneous concurrent processes or threads Scheduling Synchronization Memory management Reliability and fault tolerance Microkernels: Small operating system core Contains only essential core operating systems functions Many services traditionally included in the operating system are now external subsystems o Device drivers o File systems o Virtual memory manager o Windowing system o Security services DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 58 of 157

59 Benefits of a Microkernel Organization: Uniform interface on request made by a process o Don t distinguish between kernel-level and user-level services o All services are provided by means of message passing Extensibility o Allows the addition of new services Flexibility o New features added o Existing features can be subtracted Portability o Changes needed to port the system to a new processor is changed in the microkernel - not in the other services Reliability o Modular design o Small microkernel can be rigorously tested DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 59 of 157

60 Distributed system support o Message are sent without knowing what the target machine is Object-oriented operating system o Components are objects with clearly defined interfaces that can be interconnected to form software Microkernel Design: Low-level memory management o Mapping each virtual page to a physical page frame Interprocess Communication I/O and Interrupt Management DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 60 of 157

61 Windows Thread and SMP Management Implemented as objects An executable process may contain one or more threads Both processes and thread objects have built-in synchronization capabilities DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 61 of 157

62 Windows Process Object Windows Thread Object Windows 2000 Thread States Ready Standby Running Waiting Transition Terminated DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 62 of 157

63 CASE STUDIES: SOLARIS, UNIX, LINUX Process includes the user s address space, stack, and process control block User-level threads Lightweight processes (LWP) Kernel threads DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 63 of 157

64 Solaris Lightweight Data Structure: Identifier Priority Signal mask Saved values of user-level registers Kernel stack Resource usage and profiling data Pointer to the corresponding kernel thread Pointer to the process structure DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 64 of 157

65 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 65 of 157

66 Linux Task Data Structure: State Scheduling information Identifiers Interprocess communication Links Times and timers File system Address space Processor-specific context Linux States of a Process: Running Interruptable Uninterruptable Stopped Zombie DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 66 of 157

67 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 67 of 157

68 UNIT 3 CONCURRENCY AND SCHEDULING Principles of concurrency - Mutual exclusion, Semaphores, Monitors, Readers/Writers Problem; Deadlocks Prevention- Avoidance Detection; Scheduling: Types of scheduling Scheduling Algorithms, Case studies-unix scheduling. Concurrency 3 different contexts: Multiple applications: Allow processing time to be shared Structured applications: set of concurrent processes Operating system structure: implemented as set of processes or threads. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 68 of 157

69 Principles of Concurrency In single processor multiprogramming system, process is interleaved in time to yield the appearance of simultaneous execution. Difficulties of Concurrency: Sharing of global resources Operating system managing the allocation of resources optimally Difficult to locate programming errors Process Interaction: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 69 of 157

70 Competition among Processes: Mutual Exclusion o Critical sections Only one program at a time is allowed in its critical section Example only one process at a time is allowed to send command to the printer Deadlock Starvation Mutual Exclusion Hardware Support: Interrupt Disabling o A process runs until it invokes an operating system service or until it is interrupted o Disabling interrupts guarantees mutual exclusion o Processor is limited in its ability to interleave programs o Multiprocessing disabling interrupts on one processor will not guarantee mutual exclusion Test and Set Instruction boolean testset (int i) { if (i == 0) { i = 1; return true; } else { return false; } } DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 70 of 157

71 Exchange Instruction void exchange(int register,int memory) { int temp; temp = memory; memory = register; register = temp; } DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 71 of 157

72 Semaphores Special variable called a semaphore is used for signaling If a process is waiting for a signal, it is suspended until that signal is sent Semaphore is a variable that has an integer value o May be initialized to a nonnegative number o Wait operation decrements the semaphore value o Signal operation increments semaphore value Semaphore Primitives: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 72 of 157

73 Binary Semaphore Primitives: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 73 of 157

74 Mutual Exclusion Using Semaphores: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 74 of 157

75 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 75 of 157

76 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 76 of 157

77 Producer/Consumer Problem: One or more producers are generating data and placing these in a buffer A single consumer is taking items out of the buffer one at time Only one producer or consumer may access the buffer at any one time DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 77 of 157

78 Monitors Monitor is a software module Chief characteristics o Local data variables are accessible only by the monitor o Process enters monitor by invoking one of its procedures o Only one process may be executing in the monitor at a time DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 78 of 157

79 Synchronization: Sender and receiver may or may not be blocking (waiting for message) Blocking send, blocking receive o Both sender and receiver are blocked until message is delivered o Called a rendezvous Nonblocking send, blocking receive o Sender continues on o Receiver is blocked until the requested message arrives Nonblocking send, nonblocking receive o Neither party is required to wait Addressing: Direct addressing o Send primitive includes a specific identifier of the destination process o Receive primitive could know ahead of time which process a message is expected o Receive primitive could use source parameter to return a value when the receive operation has been performed Indirect addressing o Messages are sent to a shared data structure consisting of queues o Queues are called mailboxes o One process sends a message to the mailbox and the other process picks up the message from the mailbox DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 79 of 157

80 Message Format: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 80 of 157

81 Readers/Writers Problem Any number of readers may simultaneously read the file Only one writer at a time may write to the file If a writer is writing to the file, no reader may read it Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other No efficient solution Involve conflicting needs for resources by two or more processes DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 81 of 157

82 Reusable Resources: Used by only one process at a time and not depleted by that use Processes obtain resources that they later release for reuse by other processes Processors, I/O channels, main and secondary memory, devices, and data structures such as files, databases, and semaphores Deadlock occurs if each process holds one resource and requests the other Example of Deadlock: Resource Allocation Graphs: Directed graph that depicts a state of the system of resources and processes DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 82 of 157

83 Conditions for Deadlock: Mutual exclusion o Only one process may use a resource at a time Hold-and-wait o A process may hold allocated resources while awaiting assignment of others No preemption o No resource can be forcibly removed from a process holding it Circular wait A closed chain of processes exists, such that each process holds at least one resource needed by the next process in the chain Deadlock Prevention Mutual Exclusion o Must be supported by the operating system Hold and Wait o Require a process request all of its required resources at one time No Preemption o Process must release resource and request again o Operating system may preempt a process to require it releases its resources Circular Wait o Define a linear ordering of resource types DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 83 of 157

84 Deadlock Avoidance A decision is made dynamically whether the current resource allocation request will, if granted, potentially lead to a deadlock Requires knowledge of future process request Two Approaches to Deadlock Avoidance: Do not start a process if its demands might lead to deadlock Do not grant an incremental resource request to a process if this allocation might lead to deadlock Deadlock Avoidance: Maximum resource requirement must be stated in advance Processes under consideration must be independent; no synchronization requirements There must be a fixed number of resources to allocate No process may exit while holding resources Deadlock Detection DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 84 of 157

85 Strategies once Deadlock Detected: Abort all deadlocked processes Back up each deadlocked process to some previously defined checkpoint, and restart all process o Original deadlock may occur Successively abort deadlocked processes until deadlock no longer exists Successively preempt resources until deadlock no longer exists Selection Criteria Deadlocked Processes: Least amount of processor time consumed so far Least number of lines of output produced so far Most estimated time remaining Least total resources allocated so far Lowest priority Strengths and Weaknesses of the Strategies: DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 85 of 157

86 Scheduling Aim of Scheduling: Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency Long-Term Scheduling Determines which programs are admitted to the system for processing Controls the degree of multiprogramming More processes, smaller percentage of time each process is executed Medium-Term Scheduling Part of the swapping function Based on the need to manage the degree of multiprogramming DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 86 of 157

87 Short-Term Scheduling Known as the dispatcher Executes most frequently Invoked when an event occurs o Clock interrupts o I/O interrupts o Operating system calls o Signals DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 87 of 157

88 Scheduling Algorithms First-Come-First-Serve (FCFS) Round-Robin Shortest Process Next Shortest Remaining Time Highest Response Ratio Next (HRRN) DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 88 of 157

89 First-Come-First-Serve (FCFS): Each process joins the Ready queue When the current process ceases to execute, the oldest process in the Ready queue is selected A short process may have to wait a very long time before it can execute Favors CPU-bound processes I/O processes have to wait until CPU-bound process completes Round-Robin (RR): Uses preemption based on a clock An amount of time is determined that allows each process to use the processor for that length of time Clock interrupt is generated at periodic intervals When an interrupt occurs, the currently running process is placed in the read queue o Next ready job is selected Known as time slicing DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 89 of 157

90 Shortest Process Next (SPN): Nonpreemptive policy Process with shortest expected processing time is selected next Short process jumps ahead of longer processes Predictability of longer processes is reduced If estimated time for process not correct, the operating system may abort it Possibility of starvation for longer processes Shortest Remaining Time (SRT): Preemptive version of shortest process next policy Must estimate processing time DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 90 of 157

91 Highest Response Ratio Next (HRRN): Choose next process with the greatest ratio CASE STUDY-UNIX Scheduling Multilevel feedback using round robin within each of the priority queues If a running process does not block or complete within 1 second, it is preempted Priorities are recomputed once per second Base priority divides all processes into fixed bands of priority levels Bands Decreasing order of priority o Swapper o Block I/O device control o File manipulation o Character I/O device control o User processes DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 91 of 157

92 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 92 of 157

93 UNIT 4 MEMORY Memory management requirements, Partitioning, Paging, and Segmentation; Virtual memory - Hardware and control structures, operating system software- Linux memory management, Case studies- WINDOWS memory management, UNIX and SOLARIS Memory management Memory Management: Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable supply of ready processes to consume available processor time Memory Management Requirements Relocation o Programmer does not know where the program will be placed in memory when it is executed o While the program is executing, it may be swapped to disk and returned to main memory at a different location (relocated) o Memory references must be translated in the code to actual physical memory address Protection o Processes should not be able to reference memory locations in another process without permission o Impossible to check absolute addresses at compile time o Must be checked at rum time o Memory protection requirement must be satisfied by the processor (hardware) rather than the operating system (software) o Operating system cannot anticipate all of the memory references a program will make DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 93 of 157

94 Sharing o Allow several processes to access the same portion of memory o Better to allow each process access to the same copy of the program rather than have their own separate copy Logical Organization o Programs are written in modules o Modules can be written and compiled independently o Different degrees of protection given to modules (read-only, execute-only) o Share modules among processes Physical Organization o Memory available for a program plus its data may be insufficient Overlaying allows various modules to be assigned the same region of memory o Programmer does not know how much space will be available DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 94 of 157

95 Partitioning Fixed Partitioning: Equal-size partitions o Any process whose size is less than or equal to the partition size can be loaded into an available partition o If all partitions are full, the operating system can swap a process out of a partition o A program may not fit in a partition. The programmer must design the program with overlays o Main memory use is inefficient. Any program, no matter how small, occupies an entire partition. This is called internal fragmentation. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 95 of 157

96 Placement Algorithm with Partitions: Equal-size partitions o Because all partitions are of equal size, it does not matter which partition is used Unequal-size partitions o Can assign each process to the smallest partition within which it will fit o Queue for each partition o Processes are assigned in such a way as to minimize wasted memory within a partition DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 96 of 157

97 Dynamic Partitioning Partitions are of variable length and number Process is allocated exactly as much memory as required Eventually get holes in the memory. This is called external fragmentation Must use compaction to shift processes so they are contiguous and all free memory is in one block DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 97 of 157

98 Dynamic Partitioning Placement Algorithm: Operating system must decide which free block to allocate to a process Best-fit algorithm o Chooses the block that is closest in size to the request o Worst performer overall o Since smallest block is found for process, the smallest amount of fragmentation is left o Memory compaction must be done more often First-fit algorithm o Scans memory form the beginning and chooses the first available block that is large enough o Fastest o May have many process loaded in the front end of memory that must be searched over when trying to find a free block Next-fit o Scans memory from the location of the last placement o More often allocate a block of memory at the end of memory where the largest block is found o The largest block of memory is broken up into smaller blocks o Compaction is required to obtain a large block at the end of memory DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 98 of 157

99 Buddy System: Entire space available is treated as a single block of 2 U If a request of size s such that 2 U-1 < s <= 2 U, entire block is allocated o Otherwise block is split into two equal buddies o Process continues until smallest block greater than or equal to s is generated DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 99 of 157

100 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 100 of 157

101 Relocation When program loaded into memory the actual (absolute) memory locations are determined A process may occupy different partitions which means different absolute memory locations during execution (from swapping) Compaction will also cause a program to occupy a different partition which means different absolute memory locations Addresses Logical o Reference to a memory location independent of the current assignment of data to memory o Translation must be made to the physical address Relative o Address expressed as a location relative to some known point Physical o The absolute address or actual location in main memory DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Page 101 of 157

Operating Systems, 6 th ed. Test Bank Chapter 7

Operating Systems, 6 th ed. Test Bank Chapter 7 True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one

More information

Chapter 2: OS Overview

Chapter 2: OS Overview Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:

More information

Process Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi

Process Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi Process Description and Control 1 Process A program in execution (running) on a computer The entity that can be assigned to and executed on a processor A unit of activity characterized by a at least one

More information

Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides

More information

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how

More information

Operating Systems 4 th Class

Operating Systems 4 th Class Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

More information

Operating Systems Lecture #6: Process Management

Operating Systems Lecture #6: Process Management Lecture #6: Process Written by based on the lecture series of Dr. Dayou Li and the book Understanding 4th ed. by I.M.Flynn and A.McIver McHoes (2006) Department of Computer Science and Technology,., 2013

More information

Operating System Tutorial

Operating System Tutorial Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection

More information

Chapter 5 Process Scheduling

Chapter 5 Process Scheduling Chapter 5 Process Scheduling CPU Scheduling Objective: Basic Scheduling Concepts CPU Scheduling Algorithms Why Multiprogramming? Maximize CPU/Resources Utilization (Based on Some Criteria) CPU Scheduling

More information

OPERATING SYSTEM OVERVIEW

OPERATING SYSTEM OVERVIEW M02_STAL6329_06_SE_C02.QXD 2/28/08 3:33 AM Page 50 CHAPTER OPERATING SYSTEM OVERVIEW 50 2.1 Operating System Objectives and Functions The Operating System as a User/Computer Interface The Operating System

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization

More information

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Processes and Non-Preemptive Scheduling. Otto J. Anshus Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have

More information

Chapter 7 Memory Management

Chapter 7 Memory Management Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 7 Memory Management Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Memory Management Subdividing

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Operating Systems Overview

Operating Systems Overview Operating Systems Overview No single definition, but many perspectives: Role in an overall system: Intermediary between computer hardware and everything else User view: Provides an environment, preferably

More information

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A

More information

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010. Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:

More information

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components

More information

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods

More information

Chapter 7 Memory Management

Chapter 7 Memory Management Operating Systems: Internals and Design Principles Chapter 7 Memory Management Eighth Edition William Stallings Frame Page Segment A fixed-length block of main memory. A fixed-length block of data that

More information

CPU Scheduling Outline

CPU Scheduling Outline CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different

More information

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X (Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3

More information

This tutorial will take you through step by step approach while learning Operating System concepts.

This tutorial will take you through step by step approach while learning Operating System concepts. About the Tutorial An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is a vital component

More information

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run

More information

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into

More information

ELEC 377. Operating Systems. Week 1 Class 3

ELEC 377. Operating Systems. Week 1 Class 3 Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Operating System Structures

Operating System Structures Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.

More information

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting

More information

Overview of Operating Systems Instructor: Dr. Tongping Liu

Overview of Operating Systems Instructor: Dr. Tongping Liu Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems

More information

Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM

Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. The purpose of an operating system is to

More information

OS OBJECTIVE QUESTIONS

OS OBJECTIVE QUESTIONS OS OBJECTIVE QUESTIONS Which one of the following is Little s formula Where n is the average queue length, W is the time that a process waits 1)n=Lambda*W 2)n=Lambda/W 3)n=Lambda^W 4)n=Lambda*(W-n) Answer:1

More information

Principles of Operating Systems CS 446/646

Principles of Operating Systems CS 446/646 Principles of Operating Systems CS 446/646 1. Introduction to Operating Systems a. Role of an O/S b. O/S History and Features c. Types of O/S Mainframe systems Desktop & laptop systems Parallel systems

More information

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available: Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

More information

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer

More information

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

Processor Scheduling. Queues Recall OS maintains various queues

Processor Scheduling. Queues Recall OS maintains various queues Processor Scheduling Chapters 9 and 10 of [OS4e], Chapter 6 of [OSC]: Queues Scheduling Criteria Cooperative versus Preemptive Scheduling Scheduling Algorithms Multi-level Queues Multiprocessor and Real-Time

More information

OPERATING SYSTEMS SCHEDULING

OPERATING SYSTEMS SCHEDULING OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform

More information

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances: Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations

More information

Operating system Dr. Shroouq J.

Operating system Dr. Shroouq J. 3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well

More information

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution

More information

CPU Scheduling. Core Definitions

CPU Scheduling. Core Definitions CPU Scheduling General rule keep the CPU busy; an idle CPU is a wasted CPU Major source of CPU idleness: I/O (or waiting for it) Many programs have a characteristic CPU I/O burst cycle alternating phases

More information

Operating Systems Concepts: Chapter 7: Scheduling Strategies

Operating Systems Concepts: Chapter 7: Scheduling Strategies Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/

More information

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

More information

Chapter 1: Introduction. What is an Operating System?

Chapter 1: Introduction. What is an Operating System? Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments

More information

CPU Scheduling. CPU Scheduling

CPU Scheduling. CPU Scheduling CPU Scheduling Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling

More information

CHAPTER 15: Operating Systems: An Overview

CHAPTER 15: Operating Systems: An Overview CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint

More information

Lecture 25 Symbian OS

Lecture 25 Symbian OS CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview

More information

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1 Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional

More information

SYSTEM ecos Embedded Configurable Operating System

SYSTEM ecos Embedded Configurable Operating System BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

Types Of Operating Systems

Types Of Operating Systems Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded

More information

Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6

Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6 Kernel comparison of OpenSolaris, Windows Vista and Linux 2.6 The idea of writing this paper is evoked by Max Bruning's view on Solaris, BSD and Linux. The comparison of advantages and disadvantages among

More information

Mutual Exclusion using Monitors

Mutual Exclusion using Monitors Mutual Exclusion using Monitors Some programming languages, such as Concurrent Pascal, Modula-2 and Java provide mutual exclusion facilities called monitors. They are similar to modules in languages that

More information

Computer Organization & Architecture Lecture #19

Computer Organization & Architecture Lecture #19 Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of

More information

Computer-System Architecture

Computer-System Architecture Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture 2.1 Computer-System Architecture 2.2 Computer-System

More information

Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/

Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/ Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching

More information

Scheduling 0 : Levels. High level scheduling: Medium level scheduling: Low level scheduling

Scheduling 0 : Levels. High level scheduling: Medium level scheduling: Low level scheduling Scheduling 0 : Levels High level scheduling: Deciding whether another process can run is process table full? user process limit reached? load to swap space or memory? Medium level scheduling: Balancing

More information

Operating System Structures

Operating System Structures COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating

More information

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Client/Server Computing Distributed Processing, Client/Server, and Clusters Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

More information

Real Time Programming: Concepts

Real Time Programming: Concepts Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize

More information

Operating System: Scheduling

Operating System: Scheduling Process Management Operating System: Scheduling OS maintains a data structure for each process called Process Control Block (PCB) Information associated with each PCB: Process state: e.g. ready, or waiting

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operatin g Systems: Internals and Design Principle s Chapter 11 I/O Management and Disk Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles An artifact can

More information

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could

More information

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management. Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d Comp 204: Computer Systems and Their Implementation Lecture 12: Scheduling Algorithms cont d 1 Today Scheduling continued Multilevel queues Examples Thread scheduling 2 Question A starvation-free job-scheduling

More information

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and

More information

Have both hardware and software. Want to hide the details from the programmer (user).

Have both hardware and software. Want to hide the details from the programmer (user). Input/Output Devices Chapter 5 of Tanenbaum. Have both hardware and software. Want to hide the details from the programmer (user). Ideally have the same interface to all devices (device independence).

More information

Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5

Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5 77 16 CPU Scheduling Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5 Until now you have heard about processes and memory. From now on you ll hear about resources, the things operated upon

More information

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

Chapter 3. Operating Systems

Chapter 3. Operating Systems Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating

More information

Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling

Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling Objectives To introduce CPU scheduling To describe various CPU-scheduling algorithms Chapter 5: Process Scheduling To discuss evaluation criteria for selecting the CPUscheduling algorithm for a particular

More information

The Deadlock Problem. Deadlocks. Deadlocks. Bridge Crossing Example

The Deadlock Problem. Deadlocks. Deadlocks. Bridge Crossing Example The Deadlock Problem Deadlocks A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 tape drives. P 1 and P 2 each

More information

Chapter 1 8 Essay Question Review

Chapter 1 8 Essay Question Review Chapter 1 8 Essay Question Review 1. Explain why an operating system can be viewed as a resource allocator. Ans: A computer system has many resources that may be required to solve a problem: CPU time,

More information

10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting

More information

1 Organization of Operating Systems

1 Organization of Operating Systems COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from

More information

Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University

Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications

More information

Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition

Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition Chapter 5: CPU Scheduling Silberschatz, Galvin and Gagne 2009 Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software What is an Operating System? An operating system (OS) is a collection of software that acts as an intermediary between users and the computer hardware One can view an OS as a manager of system resources

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

CS414 SP 2007 Assignment 1

CS414 SP 2007 Assignment 1 CS414 SP 2007 Assignment 1 Due Feb. 07 at 11:59pm Submit your assignment using CMS 1. Which of the following should NOT be allowed in user mode? Briefly explain. a) Disable all interrupts. b) Read the

More information

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software

More information

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 5 Multiple Choice 1. Which of the following is true of cooperative scheduling?

More information

Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading

Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading Announcements Reading Chapter 5 Chapter 7 (Monday or Wednesday) Basic Concepts CPU I/O burst cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution What are the

More information

Operating System Components

Operating System Components Lecture Overview Operating system software introduction OS components OS services OS structure Operating Systems - April 24, 2001 Operating System Components Process management Memory management Secondary

More information

I/O. Input/Output. Types of devices. Interface. Computer hardware

I/O. Input/Output. Types of devices. Interface. Computer hardware I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in

More information

Computer Systems Structure Input/Output

Computer Systems Structure Input/Output Computer Systems Structure Input/Output Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Examples of I/O Devices

More information

Chapter 12 File Management

Chapter 12 File Management Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Overview File organisation and Access

More information

Chapter 12 File Management. Roadmap

Chapter 12 File Management. Roadmap Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Overview Roadmap File organisation and Access

More information

ICS 143 - Principles of Operating Systems

ICS 143 - Principles of Operating Systems ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian nalini@ics.uci.edu Note that some slides are adapted from course text slides 2008 Silberschatz. Some

More information

Weighted Total Mark. Weighted Exam Mark

Weighted Total Mark. Weighted Exam Mark CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale

More information

theguard! ApplicationManager System Windows Data Collector

theguard! ApplicationManager System Windows Data Collector theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview

More information

Linux Process Scheduling Policy

Linux Process Scheduling Policy Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm

More information

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note: Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the

More information