CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203

Save this PDF as:
 WORD  PNG  TXT  JPG

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 Operating System Overview

Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Operating System Objectives/Functions

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

Objectives and Functions

Objectives and Functions Objectives and Functions William Stallings Computer Organization and Architecture 6 th Edition Week 10 Operating System Support Convenience Making the computer easier to use Efficiency Allowing better

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

Process Management. Processes. CS 502 Spring 99 WPI MetroWest/Southboro Campus

Process Management. Processes. CS 502 Spring 99 WPI MetroWest/Southboro Campus Process Management CS 502 Spring 99 WPI MetroWest/Southboro Campus Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Threads Interprocess Communication 1 1 Process

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 6: CPU Scheduling

Chapter 6: CPU Scheduling 1 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 2 Basic Concepts Maximum CPU utilization

More information

Chapter 6: CPU Scheduling. Basic Concepts

Chapter 6: CPU Scheduling. Basic Concepts 1 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 Basic Concepts Maximum CPU utilization obtained

More information

III. Process Scheduling

III. Process Scheduling Intended Schedule III. Process Scheduling Date Lecture Hand out Submission 0 20.04. Introduction to Operating Systems Course registration 1 27.04. Systems Programming using C (File Subsystem) 1. Assignment

More information

III. Process Scheduling

III. Process Scheduling III. Process Scheduling 1 Intended Schedule Date Lecture Hand out Submission 0 20.04. Introduction to Operating Systems Course registration 1 27.04. Systems Programming using C (File Subsystem) 1. Assignment

More information

CPU Scheduling. Date. 2/2/2004 Operating Systems 1

CPU Scheduling. Date. 2/2/2004 Operating Systems 1 CPU Scheduling Date 2/2/2004 Operating Systems 1 Basic concepts Maximize CPU utilization with multi programming. CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait.

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling 1.1 Maximum CPU utilization obtained with multiprogramming CPU I/O Burst

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

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

Announcements Project #2. Basic Concepts

Announcements Project #2. Basic Concepts Announcements Project #2 Is due at 6:00 PM on Friday Program #3 Posted tomorrow (implements scheduler) Reading Chapter 6 Basic Concepts CPU I/O burst cycle Process execution consists of a cycle of CPU

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 5: CPU Scheduling!

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

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 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

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

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

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

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 Linux Example

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

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

Threads (Ch.4) ! Many software packages are multi-threaded. ! A thread is sometimes called a lightweight process

Threads (Ch.4) ! Many software packages are multi-threaded. ! A thread is sometimes called a lightweight process Threads (Ch.4)! Many software packages are multi-threaded l Web browser: one thread display images, another thread retrieves data from the network l Word processor: threads for displaying graphics, reading

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

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

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

(Advanced Topics in) Operating Systems Winter Term 2009 / 2010. Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC

(Advanced Topics in) Operating Systems Winter Term 2009 / 2010. Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC (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

I.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed

I.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed I.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed CHAPTER 5: PROCESS SCHEDULING Chapter 5: Process Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor

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

Introduction to process scheduling. Process scheduling and schedulers Process scheduling criteria Process scheduling algorithms

Introduction to process scheduling. Process scheduling and schedulers Process scheduling criteria Process scheduling algorithms Lecture Overview Introduction to process scheduling Process scheduling and schedulers Process scheduling criteria Process scheduling algorithms First-come, first-serve Shortest-job-first Priority Round-robin

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

Chapter 5: Process Scheduling

Chapter 5: Process Scheduling Chapter 5: Process Scheduling Chapter 5: Process Scheduling 5.1 Basic Concepts 5.2 Scheduling Criteria 5.3 Scheduling Algorithms 5.3.1 First-Come, First-Served Scheduling 5.3.2 Shortest-Job-First Scheduling

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

Chapter 6: CPU Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms

Chapter 6: CPU Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Operating System Concepts 6.1 Basic Concepts Maximum CPU utilization obtained with multiprogramming. CPU I/O Burst Cycle

More information

CPU Scheduling! Basic Concepts! Scheduling Criteria! Scheduling Algorithms!

CPU Scheduling! Basic Concepts! Scheduling Criteria! Scheduling Algorithms! CPU Scheduling! Basic Concepts! Scheduling Criteria! Scheduling Algorithms! First-Come-First-Served! Shortest-Job-First, Shortest-remaining-Time-First! Priority Scheduling! Round Robin! Multi-level Queue!

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

Chapter 6: CPU Scheduling. Previous Lectures. Basic Concepts. Alternating Sequence of CPU And I/O Bursts

Chapter 6: CPU Scheduling. Previous Lectures. Basic Concepts. Alternating Sequence of CPU And I/O Bursts Previous Lectures Multithreading Memory Layout Kernel vs User threads Representation in OS Difference between thread and process Thread scheduling Mapping between user and kernel threads Multithreading

More information

Chapter 5: CPU Scheduling. Operating System Concepts 7 th Edition, Jan 14, 2005

Chapter 5: CPU Scheduling. Operating System Concepts 7 th Edition, Jan 14, 2005 Chapter 5: CPU Scheduling Operating System Concepts 7 th Edition, Jan 14, 2005 Silberschatz, Galvin and Gagne 2005 Outline Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling

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

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

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

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

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

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

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

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

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

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

Objectives. 5.1 Basic Concepts. Scheduling Criteria. Multiple-Processor Scheduling. Algorithm Evaluation. Maximum CPU.

Objectives. 5.1 Basic Concepts. Scheduling Criteria. Multiple-Processor Scheduling. Algorithm Evaluation. Maximum CPU. Chapter 5: Process Scheduling Objectives To introduce CPU scheduling To describe various CPU-scheduling algorithms To discuss evaluation criteria for selecting the CPU-scheduling algorithm for a particular

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

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

Chapter 5: CPU Scheduling

Chapter 5: CPU Scheduling Chapter 5: CPU Scheduling Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating Systems Examples

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

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

CPU Scheduling. Chapter 5

CPU Scheduling. Chapter 5 CPU Scheduling Chapter 5 Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait CPU burst distribution

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

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

ECE3055 Computer Architecture and Operating Systems

ECE3055 Computer Architecture and Operating Systems ECE3055 Computer Architecture and Operating Systems Lecture: CPU Scheduling Prof. Hsien-Hsin Hsin Sean Lee School of Electrical and Computer Engineering Georgia Institute of Technology H.-H. S. Lee 1 Overview

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

Chapter 5: CPU Scheduling

Chapter 5: CPU Scheduling COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 5: CPU Scheduling Zhi Wang Florida State University Contents Basic concepts Scheduling criteria Scheduling algorithms Thread scheduling

More information

CSC 271 Software I: Utilities and Internals

CSC 271 Software I: Utilities and Internals CSC 271 Software I: Utilities and Internals Lecture 9 : What are Processes? The Process Concept Originally, computers ran only one program at a time, which had total access to all of the computer s resources.

More information

5.1 Basic Concepts. Chapter 5: Process Scheduling. Alternating Sequence of CPU And I/O Bursts. 5.1 Basic Concepts

5.1 Basic Concepts. Chapter 5: Process Scheduling. Alternating Sequence of CPU And I/O Bursts. 5.1 Basic Concepts 5.1 Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait CPU burst distribution Chapter 5: Process

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

Use the computer hardware in an efficient manner

Use the computer hardware in an efficient manner Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Feature Migration

More information

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Scheduling & Resource Utilization

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Scheduling & Resource Utilization Road Map Scheduling Dickinson College Computer Science 354 Spring 2012 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

PROCESS SCHEDULING. CS124 Operating Systems Winter 2013-2014, Lecture 12

PROCESS SCHEDULING. CS124 Operating Systems Winter 2013-2014, Lecture 12 PROCESS SCHEDULING CS124 Operating Systems Winter 2013-2014, Lecture 12 2 Process Scheduling OSes must manage the allocation and sharing of hardware resources to applications that use them Most important

More information

UNIT 1 OPERATING SYSTEM FOR PARALLEL COMPUTER

UNIT 1 OPERATING SYSTEM FOR PARALLEL COMPUTER UNIT 1 OPERATING SYSTEM FOR PARALLEL COMPUTER Structure Page Nos. 1.0 Introduction 5 1.1 Objectives 5 1.2 Parallel Programming Environment Characteristics 6 1.3 Synchronisation Principles 1.3.1 Wait Protocol

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

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

ECE3055 Computer Architecture and Operating Systems

ECE3055 Computer Architecture and Operating Systems ECE3055 Computer Architecture and Operating Systems Lecture: CPU Scheduling Prof. Hsien-Hsin Hsin Sean Lee School of Electrical and Computer Engineering Georgia Institute of Technology H.-H. S. Lee 1 Overview

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

Lecture 5 Process Scheduling (chapter 5)

Lecture 5 Process Scheduling (chapter 5) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 5 Process Scheduling (chapter 5) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides

More information

CPU Scheduling CS 571. CPU - I/O Burst Cycle. Bursts of CPU usage alternate with periods of I/O wait a CPU-bound process an I/O bound process

CPU Scheduling CS 571. CPU - I/O Burst Cycle. Bursts of CPU usage alternate with periods of I/O wait a CPU-bound process an I/O bound process CPU Scheduling CS 571 1 CPU - I/O Burst Cycle Bursts of CPU usage alternate with periods of I/O wait a CPU-bound process an I/O bound process 2 1 Basic Concepts CPU I/O Burst Cycle Process execution consists

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

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

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

CPU Scheduling. Multiprogrammed OS

CPU Scheduling. Multiprogrammed OS CPU Scheduling Multiprogrammed OS Efficient Use of Processor By switching between jobs Thread scheduling and process scheduling often used interchangeably Which is done depends on implementation of O/S.

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

Admin. Threads, CPU Scheduling. Yesterday s Lecture: Threads. Today s Lecture. ITS 225: Operating Systems. Lecture 4

Admin. Threads, CPU Scheduling. Yesterday s Lecture: Threads. Today s Lecture. ITS 225: Operating Systems. Lecture 4 ITS 225: Operating Systems Admin Lecture 4 Threads, CPU Scheduling Jan 23, 2004 Dr. Matthew Dailey Information Technology Program Sirindhorn International Institute of Technology Thammasat University Some

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

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

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

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

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

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

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

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