Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

  • Be the first to comment


  1. 2. <ul><li>What Operating Systems Do </li></ul><ul><li>Computer-System Organization </li></ul><ul><li>Computer-System Architecture </li></ul><ul><li>Operating-System Structure </li></ul><ul><li>Operating-System Operations </li></ul><ul><li>Process Management </li></ul><ul><li>Memory Management </li></ul><ul><li>Storage Management </li></ul><ul><li>Protection and Security </li></ul><ul><li>Distributed Systems </li></ul><ul><li>Special-Purpose Systems </li></ul><ul><li>Computing Environments </li></ul>
  2. 3. <ul><li>Make a computer system easier to use: </li></ul><ul><ul><li>An operating system hides the details of hardware resources from users and provides them with a convenient interface for using a computer system. </li></ul></ul>USERS System SW & Application SW OS Hardware
  3. 4. <ul><li>A program that acts as an intermediary between a user of a computer and the computer hardware. </li></ul><ul><li>Operating system goals: </li></ul><ul><ul><li>Execute user programs and make solving user problems easier. </li></ul></ul><ul><ul><li>Make the computer system convenient to use. </li></ul></ul><ul><li>Use the computer hardware in an efficient manner. </li></ul>
  4. 5. <ul><li>Computer system can be divided into four components </li></ul><ul><ul><li>Hardware – provides basic computing resources </li></ul></ul><ul><ul><ul><li>CPU, memory, I/O devices </li></ul></ul></ul><ul><ul><li>Operating system </li></ul></ul><ul><ul><ul><li>Controls and coordinates use of hardware among various applications and users </li></ul></ul></ul><ul><ul><li>Application programs – define the ways in which the system resources are used to solve the computing problems of the users </li></ul></ul><ul><ul><ul><li>Word processors, compilers, web browsers, database systems, video games </li></ul></ul></ul><ul><ul><li>Users </li></ul></ul><ul><ul><ul><li>People, machines, other computers </li></ul></ul></ul>
  5. 6. <ul><li>OS is a resource allocator </li></ul><ul><ul><li>Manages all resources </li></ul></ul><ul><ul><li>Decides between conflicting requests for efficient and fair resource use </li></ul></ul><ul><li>OS is a control program </li></ul><ul><ul><li>Controls execution of programs to prevent errors and improper use of the computer </li></ul></ul>
  6. 7. <ul><li>No universally accepted definition </li></ul><ul><li>“ Everything a vendor ships when you order an operating system” is good approximation </li></ul><ul><ul><li>But varies wildly </li></ul></ul><ul><li>“ The one program running at all times on the computer” is the kernel. Everything else is either a system program (ships with the operating system) or an application program </li></ul>
  7. 9. <ul><li>bootstrap program is loaded at power-up or reboot </li></ul><ul><ul><li>Typically stored in ROM or EPROM, generally known as firmware </li></ul></ul><ul><ul><li>Initializates all aspects of system </li></ul></ul><ul><ul><li>Loads operating system kernel and starts execution </li></ul></ul>
  8. 10. <ul><li>Computer-system operation </li></ul><ul><ul><li>One or more CPUs, device controllers connect through common bus providing access to shared memory </li></ul></ul><ul><ul><li>Concurrent execution of CPUs and devices competing for memory cycles </li></ul></ul>
  9. 11. <ul><li>Batch Processing </li></ul><ul><li>Multitasking </li></ul><ul><li>Online OS/ Real Time </li></ul><ul><li>Multiprocessing </li></ul>
  10. 12. <ul><li>Also known as mainframes </li></ul><ul><li>Jobs like data processing were carried out in a batch </li></ul><ul><li>Data was punched in a punch card </li></ul><ul><li>Job control cards that carried the instructions were also used </li></ul><ul><li>Utilization of resources was very low </li></ul><ul><ul><li>Advantages: </li></ul></ul><ul><ul><ul><li>Much of the work of the operator is moved to the computer </li></ul></ul></ul><ul><ul><ul><li>Performance increases since it is possible for job to start as soon as the previous job finished. </li></ul></ul></ul><ul><ul><li>Disadvantages: </li></ul></ul><ul><ul><ul><li>Turn around time can be large user standpoint </li></ul></ul></ul><ul><ul><ul><li>More difficult to debug the program </li></ul></ul></ul><ul><ul><ul><li>A job could enter an infinite loop. </li></ul></ul></ul><ul><ul><ul><li>Sometime CPU remain Idle </li></ul></ul></ul>
  11. 13. Operating System User Process Unused User Area OS Area
  12. 14. <ul><li>A programmer would first write the program on paper. </li></ul><ul><li>The programmer or a data entry operator would then punch the program and its data on cards or paper tape. </li></ul><ul><li>The programmer would the submit the deck of cards or the paper tape containing the program and data at the reception counter of computer system. </li></ul><ul><li>An Operator would then take the cards deck pr paper tape and load it manually into the system from card reader or paper tape reader. Before loading of the job, the operator had to use the front panel switches of the system to clear any previous data from memory. </li></ul><ul><li>The Operator would then set the appropriate switches in the front panel to run the job. </li></ul><ul><li>Finally the operator would print and submit the result of execution of the job at the reception counter for the programmer to collect it later. </li></ul>
  13. 16. <ul><li>It is interleaved execution of multiple jobs(often referred to as tasks of same user) in a single user system. </li></ul><ul><li>Progress of different tasks is viewed on different windows in a multitasking system </li></ul><ul><li>Card reader reads one job after another, and stored in the main memory. </li></ul><ul><li>The processed output of various jobs are stored in the memory and printed one by one, on the printer. </li></ul><ul><li>CPU switches from one task to another while reading or processing the task </li></ul><ul><li>Ultimately saves CPU idle Time as well as peripheral Devices Idle Time. </li></ul><ul><ul><li>Each user has at least one program executing in memory  process. </li></ul></ul><ul><ul><li>If processes don’t fit in memory, swapping moves them in and out to run </li></ul></ul><ul><ul><li>Virtual memory allows execution of processes not completely in memory </li></ul></ul>
  14. 17. USER JOB Operating System CPU Execution in progress OS AREA User program Area <ul><li>It is interleaved execution of two or more different and independent programs by a computer. </li></ul><ul><li>Multiprogramming needed for efficiency </li></ul><ul><ul><li>Single user cannot keep CPU and I/O devices busy at all times </li></ul></ul><ul><ul><li>Multiprogramming organizes jobs (code and data) so CPU always has one to execute </li></ul></ul><ul><ul><li>A subset of total jobs in system is kept in memory </li></ul></ul><ul><ul><li>One job selected and run via job scheduling </li></ul></ul><ul><ul><li>When it has to wait (for I/O for example), OS switches to another job </li></ul></ul>
  15. 18. Partition 1 Partition n User Area Divided into n Equal Sized Partition OS Area Operating System Partition 2 Partition 3 Partition 4 . . Multiprogramming memory model with fixed number of memory partition
  16. 19. OS Free OS Free OS Free OS Free P1 P2 P1 P1 P2 P3 OS Free Free 2 P1 P3 OS Free P4 P1 P3 OS Free Free 3 P3 OS Free 1 P5 P3 Free 2 P4 Free 2 Free 2 P4 P1 Enters P2 Enters P3 Enters P4 Enters P1 Left P5 Enters
  17. 20. <ul><li>Thread is a lightweight process which helps to improve the application performance. </li></ul><ul><li>Each Thread of process has its own program counter, its own register states, and its own stack. </li></ul><ul><li>All the threads of a process share same address space, same set of operating system resources , such as files, Devices, and information. </li></ul>
  18. 21. A process consists of an address space and one or more threads of control. Address Space Address Space Thread T1 T2 T3
  19. 22. <ul><li>All resources can be accessed 24*7 hours </li></ul><ul><li>Computer starts process immediately, takes one or all inputs, and delivers the output instantaneously. </li></ul><ul><li>User cannot update or modify the program of these OS. </li></ul><ul><li>The main object of real-time operating systems is their quick and predictable response to events. </li></ul>
  20. 23. <ul><li>Process Management </li></ul><ul><li>File Management </li></ul><ul><li>Memory Management </li></ul><ul><li>IO Subsystem </li></ul><ul><li>Protection and Security </li></ul><ul><li>Command Interpretation </li></ul>
  21. 24. <ul><li>A process is a program in execution. It is a unit of work within the system. Program is a passive entity , process is an active entity . </li></ul><ul><li>Process needs resources to accomplish its task </li></ul><ul><ul><li>CPU, memory, I/O, files </li></ul></ul><ul><ul><li>Initialization data </li></ul></ul><ul><li>Process termination requires reclaim of any reusable resources </li></ul><ul><li>Single-threaded process has one program counter specifying location of next instruction to execute </li></ul><ul><ul><li>Process executes instructions sequentially, one at a time, until completion </li></ul></ul><ul><li>Multi-threaded process has one program counter per thread </li></ul><ul><li>Typically system has many processes, some user, some operating system running concurrently on one or more CPUs </li></ul><ul><ul><li>Concurrency by multiplexing the CPUs among the processes / threads </li></ul></ul>
  22. 25. <ul><li>The operating system is responsible for the following activities in connection with process management: </li></ul><ul><li>Creating and deleting both user and system processes </li></ul><ul><li>Suspending and resuming processes </li></ul><ul><li>Providing mechanisms for process synchronization </li></ul><ul><li>Providing mechanisms for process communication </li></ul><ul><li>Providing mechanisms for deadlock handling </li></ul>
  23. 26. Ready Blocked Running Job is allocated to CPU for Execution Allotted time slice is over Job must wait for IO Completion Job process Complete New job IO Completed
  24. 27. <ul><li>This Module take care of allocation and De-Allocation of memory space to programs in need of particular resource. </li></ul><ul><li>All data in memory before and after processing </li></ul><ul><li>All instructions in memory in order to execute </li></ul><ul><li>Memory management determines what is in memory when </li></ul><ul><ul><li>Optimizing CPU utilization and computer response to users </li></ul></ul><ul><li>Memory management activities </li></ul><ul><ul><li>Keeping track of which parts of memory are currently being used and by whom </li></ul></ul><ul><ul><li>Deciding which processes (or parts thereof) and data to move into and out of memory </li></ul></ul><ul><ul><li>Allocating and de-allocating memory space as needed. </li></ul></ul><ul><ul><li>When the program to be executed is very large to be accommodate in the memory, the problem of how to execute the program arises, as the program has to be in main memory to get executed. This problem is solved by the “SWAPPING” </li></ul></ul>
  25. 28. <ul><li>One purpose of OS is to hide peculiarities of hardware devices from the user </li></ul><ul><li>I/O subsystem responsible for </li></ul><ul><ul><li>Memory management of I/O including buffering (storing data temporarily while it is being transferred), caching (storing parts of data in faster storage for performance), spooling (the overlapping of output of one job with input of other jobs) </li></ul></ul><ul><ul><li>General device-driver interface </li></ul></ul><ul><ul><li>Drivers for specific hardware devices </li></ul></ul>
  26. 29. <ul><li>Sequential Access File </li></ul><ul><ul><li>Normally used with sequential access media such as magnetic tape. Sequential is a process can read the bytes or records in the file in the order in which they are stored, starting at the beginning. </li></ul></ul><ul><li>Random Access file </li></ul><ul><ul><li>Normally used with direct access media such as magnetic disk or optical disk. </li></ul></ul><ul><ul><li>Content of random access file can be accessed randomly, irrespective of the order in which the bytes or records are stored. </li></ul></ul>
  27. 30. <ul><li>Create </li></ul><ul><li>Delete </li></ul><ul><li>Open </li></ul><ul><li>Close </li></ul><ul><li>Save </li></ul><ul><li>Read </li></ul><ul><li>Write </li></ul><ul><li>Seek: used with random access file to first position read/write pointer to specific place in file so that data can be read from, or written to , that position. </li></ul><ul><li>Get Attributes </li></ul><ul><li>Set Attributes </li></ul><ul><li>Rename </li></ul><ul><li>Copy </li></ul>
  28. 31. <ul><li>Security module protects the resources and information of computer system against destruction and unauthorized access. </li></ul><ul><ul><li>Password </li></ul></ul><ul><ul><li>File Permissions </li></ul></ul><ul><ul><li>File Handing </li></ul></ul>
  29. 32. <ul><li>Protection – any mechanism for controlling access of processes or users to resources defined by the OS </li></ul><ul><li>Security – defense of the system against internal and external attacks </li></ul><ul><ul><li>Huge range, including denial-of-service, worms, viruses, identity theft, theft of service </li></ul></ul><ul><li>Systems generally first distinguish among users, to determine who can do what </li></ul><ul><ul><li>User identities ( user IDs , security IDs) include name and associated number, one per user </li></ul></ul><ul><ul><li>User ID then associated with all files, processes of that user to determine access control </li></ul></ul><ul><ul><li>Group identifier (g roup ID ) allows set of users to be defined and controls managed, then also associated with each process, file </li></ul></ul><ul><ul><li>Privilege escalation allows user to change to effective ID with more rights </li></ul></ul>
  30. 33. <ul><li>This module take care of interpreting user commands, and directing system resources to process the commands. With this mode of interaction with a system, users are not much concerned about hardware details of the system. </li></ul>