Page 47 - DCAP507_SYSTEM_SOFTWARE
P. 47

Unit 2: Evolution of Operating System




                                                                                                Notes
                 Example: Opening up two windows of the same program typically means two processes
          are being executed.
          A single computer processor executes  only one instruction at a time. To allow users to run
          several programs at once, single-processor computer systems can use time-sharing processes
          switch between being executed and waiting to be executed. In most cases this is done at a very
          fast rate, giving an illusion that several processes are executing at once. Using multiple processors
          achieves actual simultaneous execution of multiple instructions from different processes, but
          time-sharing is still typically used to allow more processes to run at once.

          For security reasons most modern operating systems prevent direct inter-process communication,
          providing mediated and limited functionality. However, a process may split itself into multiple
          threads that execute in parallel, running different instructions on much of the same resources
          and data. This is useful when, for instance, it is necessary to make it seem that multiple things
          within the same process are happening at once (such as a spell check being performed in a word
          processor while the user is typing), or if part of the process needs to wait for something else to
          happen (such as a web browser waiting for a web page to be retrieved).
          A multitasking operating system may just switch between processes to give the appearance of
          many processes executing concurrently or simultaneously, though in fact only one process can
          be executing  at any one time on a single-core CPU  (unless using multi-threading or other
          similar  technology).

          It is usual to associate a single process with a main program, and 'daughter' ('child') processes
          with any spin-off, parallel processes, which behave like asynchronous subroutines. A process is
          said to own resources, of which an image of its program (in memory) is one such resource.




             Notes  However, that in multiprocessing systems,  many processes  may run  off of, or
             share, the same reentrant program at the same location in memory- but each process is
             said to own its own image of the program.
          Processes are often called tasks in embedded operating systems. The sense of 'process' (or task)
          is 'something that takes up time', as opposed to 'memory', which is 'something that takes up
          space'. (Historically, the terms 'task' and 'process' were used interchangeably, but the term 'task'
          seems to be dropping from the computer lexicon.)
          The above description applies to both processes managed by an operating system, and processes
          as defined by process calculi.

          If a process requests something for which it must wait, it will be blocked. When the process is in
          the Blocked State, it is eligible for swapping to disk, but this is transparent in a virtual memory
          system, where blocks of memory values may be really on disk and not in main memory at any
          time.

               !

             Caution  Even unused portions of active processes/tasks (executing programs) are eligible
             for swapping to disk.
          All parts of an executing program and its data do not have to be in physical memory for the
          associated process to be active.







                                           LOVELY PROFESSIONAL UNIVERSITY                                   41
   42   43   44   45   46   47   48   49   50   51   52