1 / 23

Operating Systems { week 02}

Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D. Operating Systems { week 02}. from Principles of Modern Operating Systems , 1st edition by Garrido and Schlesinger, Jones and Bartlett Publishers, 2008, ISBN 0-7637-3574-4.

awen
Download Presentation

Operating Systems { week 02}

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D. Operating Systems{week 02} from Principles of Modern Operating Systems, 1st edition by Garrido and Schlesinger, Jones and Bartlett Publishers, 2008, ISBN 0-7637-3574-4

  2. Multiprogramming and timesharing • Multiprogramming goals: • Maximize CPU utilization • Maximize number of processes in memory • Timesharing goals: • Switch CPU among processes such that users interact with each program simultaneously • Maximize fairness almost!

  3. Process scheduling and queues • Processes are created bythe operating system • Processes initially added toa job queue, which containsall processes waiting to enter the system • From the job queue, processes thatare ready for execution are addedto the ready queue

  4. Schedulers • A long-term scheduler(i.e. job scheduler) selects processes from the job queue, adding those processes to the ready queue • A short-term scheduler(i.e. CPU scheduler) selects processes from the ready queueand allocates time with the CPU • More on this later....

  5. Long-term scheduling (i) • The long-term scheduler isinvoked infrequently

  6. Long-term scheduling (ii) • The degree of multiprogrammingofan operating system is defined asthe number of processes in memory • In a stable operating system,the average process arrival rate equalsthe average process departure rate

  7. Long-term scheduling (iii) • Processes are either I/O bound or CPU bound • A CPU-bound process does little I/O and instead makes heavy use of the CPU • An I/O-bound process spends a majority of itstime performing (i.e. waiting for) I/O • The long-term scheduler should select a good process mix of CPU-bound and I/O-bound processes

  8. Long-term scheduling (iv) • Most modern operating systems have no long-term scheduler (e.g. Windows, UNIX) • All processes are admitted tothe ready queue, regardlessof whether the operatingsystem can handle the load • Often results in userschanging their usage habits....

  9. Medium-term scheduling • Modern operating systems implement a medium-term scheduler to swap processes to/from memory and disk

  10. Processes (i) • A process is an active program in execution • Requires CPU time, memory, file access,network access, other I/O access • Operating system is responsible for: • Creating/deleting processes • Scheduling processes • Allocating resources to processes • Synchronizing communication between processes

  11. Processes (ii) • For each process, the operatingsystem manages and executesprocesses by recording: • Program counter (PC) • Registers • Data section (global data) • Stack (temporary data) • Heap (dynamically allocated memory)

  12. Process states • As a process executes, it changes its state

  13. Process control block • Operating system represents each process via a process control block (PCB) • Process state • Process ID or number • Program counter (PC) • CPU registers • CPU-scheduling and memorymanagement information • List of open file/resource handles

  14. Process context switch context switch takes a few milliseconds

  15. Process scheduling

  16. Short-term scheduling • The short-term scheduler frequently decides which process the CPU executes next • Typical time slice (t) a process has withthe CPU is 100 milliseconds • How much CPU time is wastedif tis 100ms and it takes 10msto schedule the next processand perform the context switch?

  17. Process creation (i) • Processes are created from other processes • A parent process creates a child process, whichin turn creates child processes of its own, etc. • A tree of processes is the result:

  18. Process creation (ii) • Operating system resources are sometimes shared amongst processes • Possibilities: • Parent and child processes share all resources • Child shares a subset of its parent’s resources • Parent and child processes share noresources

  19. Process creation (iii) • Each process has itsown unique processidentifier (pid)

  20. Process creation (iv) • When a new process is created,the parent has two options: • Parent process continuesto execute concurrently with its children • Parent process waits for its children toterminate their execution • The child process decides what it will do: • Duplicate the parent or load a new program

  21. Process creation (v) • In Unix, a new child process is forkedviathe fork() system call • Child optionally calls the exec()system callto load a new program

  22. What next? • Read and studyChapters 1 and 2 • Do Exercises at the end of Chapter 2 • Also be sure to do the programming exercise on the next slide in C

  23. Programming exercise Did it work? • Implement a program to simulate caching: • Write a function called calculateAnswer() that takes integer n as input and calculates (and returns)the sum (1 + 2 + … + n) • Pretend this method is computationally costly! • Initially, the cache is empty • Ask the user to input a number in range 1..100 • If the answer is not in the cache, call calculateAnswer() and display the resulting sum; store the result in the cache • If the answer is in the cache, simply display the answer

More Related