0% found this document useful (0 votes)
32 views

OS hw3

The document discusses several key aspects of early computer systems and operating systems: 1) Early computer operators batched similar jobs together to reduce setup time between programs using the same compilers or languages. 2) Spooling was used to optimize early systems by overlapping I/O of one job with computation of others to minimize delays from discrepancies in CPU and I/O speeds. 3) The multilevel feedback queue allocated more time units to a program each time it was rescheduled before performing I/O to block, allowing it to make further progress.

Uploaded by

universe
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

OS hw3

The document discusses several key aspects of early computer systems and operating systems: 1) Early computer operators batched similar jobs together to reduce setup time between programs using the same compilers or languages. 2) Spooling was used to optimize early systems by overlapping I/O of one job with computation of others to minimize delays from discrepancies in CPU and I/O speeds. 3) The multilevel feedback queue allocated more time units to a program each time it was rescheduled before performing I/O to block, allowing it to make further progress.

Uploaded by

universe
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Assignment # 3

The “Influential” Operating Systems: Case Study

1. Discuss what considerations the computer operator took into account in


deciding on the sequences in which programs would be run on early
computer systems that were manually operated.
Jobs with similar needs are batched together and run together to reduce set-up
time. For instance, jobs that require the same compiler because they were written
in the same language are scheduled together so that the compiler is loaded only
once and used on both programs.

2. What optimizations were used to minimize the discrepancy between


CPU and I/O speeds on early computer systems?
An optimization used to minimize the discrepancy between CPU and I/O speeds
is spooling. Spooling overlaps the I/O of one job with the computation of other
jobs. The spooler for instance could be reading the input of one job while printing
the output of a different job or while executing another job.

3. Consider the multilevel feedback queue used by CTSS and MULTICS.


Suppose a program consistently uses seven time units every time it is
scheduled before it performs an I/O operation and blocks. How many time
units are allocated to this program when it is scheduled for execution at
different points in time?
The page replacement algorithm used in Atlas is very dif-ferent from the clock
algorithm discussed in earlier chapters. The Atlas system keeps track of whether
a page was accessed in each period of 1024 instructions for the last 32 periods.
Let t1 be the time since the most recent reference to a page, while t2 is the
interval between the last two references of a page. The paging system then
discards any page that has t1 > t2 + 1. If it cannot find any such page, it discards
the page with the largest t2 - t1. This algorithm assumes that programs access
memory in loops and the idea is to retain pages even if it has not been accessed
for a long time if there has been a history of accessing the page regularly albeit at
long intervals. The clock algorithm, on the other hand, is an approximate version
of the least recently used algorithm and therefore discards the least recently used
page without taking into account that some of the pages might be infrequently but
repeatedly accessed.
4. What are the implications of supporting BSD functionality in user-mode
servers within the Mach operating system?
Mach operating system supports the BSD functionality in user mode servers.
When the user process makes a BSD call, it traps into kernel mode and the kernel
copies the arguments to the user level server. A context switch is then made and
the user level performs the requested operation and computes the results which
are then copied back to the kernel space. Another context switch takes place to
the original process which is in kernel mode and the process eventually
transitions from kernel mode to user mode along with the results of the BSD call.
Therefore, in order to perform the BSD call, there are two kernel crossings and
two process switches thereby resulting in a large overhead. This is significantly
higher than the cost if the BSD functionality is supported within the kernel.

5. What conclusions can be drawn about the evolution of operating systems?


What causes some operating systems to gain in popularity and others to
fade?
Operating systems that have made advances in operating system technology-
that, is advances to memory management or interprocess communication-have
typically been the types of systems that are both popular and have existed for a
period of time. UNIX is a classic example of a type of system that has made
significant technological advances and has lasted for more than 30 years.
Further evidence of this are the types of systems that have evolved from UNIX
and have gained in popularity on their own. Linux is perhaps the most notable
example. The types of operating systems that have faded from view are
typically systems that are either too specific in purpose or lack in performance.
There is much more motivation to replace such systems rather than continuing
to advance them.

You might also like