Tuesday, September 23, 2014

Chapter 4: Operating System Components

  • Process Management:
    • Processes:
      • Are applications that work as individual units and the operating system also has several different processes carrying out various types of functionality. 
      • Set of instructions that is actually running.
      • Programs are not processes until they load into memory and are activated by the operating system.
      • After the process is created, the operating system assigns resources to it such as memory segments, CPU time slot (interrupt), access to system application programming interfaces (APIs), and files to interact with. 
      • A process is a collection of the instructions and the assigned resources. 
      • Functionality of individual processes are providing displaying data onscreen, spooling print jobs, and saving data to temporary files.
    • Multitasking:
      • Operating systems start out as cooperative and then evolve into preemptive multitasking.
      • Cooperative multitasking:
        • Used in Window's 3.x and early Machintosh systems.
        • Required process to voluntarily release resources they were using.
        • Not a stable environment because if programmer did not write his code properly to release a resource when his application was done using it, the resource would be committed indefinitely to his application resulting in unavailability to other processes. 
      • Preemptive multitasking:
        • Used in Window's 9x and later versions in Unix systems.
        • The operating system controls how long a process can use a resource. 
        • The operating systems can suspend a process that is using CPU to allow another process to have access to it, this is called time sharing.
    • A process can be in a running state where the CPU is executing its instructions and data, and it can be in ready state, the process is waiting to send instructions to the CPU. The process can also be in blocked state, this is where the process is waiting for input data, such as keystrokes, from a user. 
    • When a process is blocked, it is waiting for some type of data to be sent to it. 
    • The operating system is responsible for creating new processes, assigning them resources, synchronizing their communication, and making sure nothing insecure is taking place. 
    • Two Categories of Interrupts:
      • Maskable Interrupt:
        • Assigned to an event that may not be overly important and the programmer can indicate that if that interrupt calls, the program does not stop what it is doing (Harris, 316).
      • Nonmaskable interrupts:
        • Can never be overridden by an application because the event that has this type of interrupt assigned to it is critical (Harris, 316).

No comments:

Post a Comment