CSE2302 CMG-2003-09

CSE2302 Operating Systems

Assignment 1

Operating Systems

Due Date: 8 Sept 2003 12:00 noon CSSE assignment box

This Assignment has 3 questions, and you should complete answers for all 3. The Assignment contributes 15% to the assessment of the subject. Each question is worth 5 marks.

Make sure you show all calculations, and provide justification for decisions and assumptions you make.

    1. [0.5mark] Name and briefly describe the 2 main purposes of an operating system.

    2. [1mark]CPU and memory protection are used to prevent user processes from causing a system failure. Write a brief description of the hardware features required to achieve this in a multiprogrammed system. Do these hardware features also protect the operating system from internal failures?

    3. [1mark]There are four actions required of an operating system for a user process to be executed. The first is to read and interpret the user command from the command line. Name and briefly describe the 3 other actions.

    4. [1mark]Which of the following UNIX utilities can be considered applications software and which can be considered operating systems software? Briefly justify your answer.

      1. emacs
      2. ps
      3. ls
      4. bash (or any 'shell' for that matter)
      5. /usr/X11R6/bin/X (the X-Windows display server)

    5. [0.5mark]PC BIOS is located in ROM. Which services does it provide to the user that are not available by writing programs for the hardware directly.(hint: boot)?

    6. [1mark]Operating Systems map abstract(also called virtual) resources to physical(real) resources. For example the file system is an abstract resource which is mapped to physical track and sectors on a disk. Briefly explain whether this model also applies to virtual terminals. You may need to find a good definition of virtual terminal first.

    1. [1mark]The degree of multiprogramming is defined as the maximum number of processes which can be usefully supported by a uniprocessor system. Briefly describe two physical constraints that must be considered to determine this value.

    2. [1mark]It is possible to estimate the execution time of processes in a multiprogrammed operating system, to within statistical limits. Briefly describe how this calculation can be done.

    3. [1mark]Define the response time for a process. Briefly describe how this quantity is calculated and how it is used in determining operating system constraints.

    4. [1mark]Interrupt processing must occur within the normal fetch-decode-execute cycle of the CPU. Briefly describe how interrupts are serviced in the MIPS processor architecture to which you were introduced in 1st. year. If you are not familiar with that architecture then you should be able to find the required information on the WEB.
    5. [1mark]Name the method and device which is commonly used to make data transfers between Disk units and main memory more efficient. Given that byte-by-byte transfers of data from the disk drive to memory via the CPU may require one interrupt per byte, what is the most important advantage of the use of this device.
    1. [1mark]Briefly describe the POSIX.1 standard, defined by the IEEE POSIX committee in the early 1990s and name 2 of its main features. Determine whether Microsoft's Windows XP is POSIX compliant. You must list the web pages you consulted to obtain full marks for this question.

    2. [1mark]Operating system design and evolution is significantly influenced by the following factors. Briefly define each and give an example which illustrates your definition.

      1. software maintainability
      2. performance
      3. correctness
      4. protection and security
      5. commercial utility
      6. adherence to standards

    3. [1mark]Name and briefly describe the 4 main operating system component categories. (Hint: start with the Device Manager).

    4. [2marks]Most operating systems maintain system time by reading a physical device(real-time clock chip). The time is then written into a globally readable variable. Suppose that the time to read the clock chip and update the variable is 200micro-seconds. What percentage of the total CPU time needs to be spent updating the time variable in order to maintain a clock value accurate to the closest milli-second.