Kojo Kumah
kojo@nyu.edu

Operating Systems HW1

1.
(a) Two purposes of an Operating System are to allocate the resources of the hardware as well as to control the execution of 
application software (user programs).

(b) Multiprogramming is advantageous because it allows the system to run more efficient by reducing idle time. Rather than waiting
for each individual job to finish before another can be executed, a multiprogramming environment can switch between jobs and reduce
or eliminate idle time.

(c) Caches are fast, temporary and relatively small memory storage systems used to store recently accessed information under the 
assumption that it will be needed again  soon.

(d) Standard Operating System services are program execution, I/O operations, File-system manipulation, Communication and Error 
detection. Program execution is necessary, an Operating System must be able to load, run and end execution of application programs 
in order to be of any use to the user. I/O is also a fundamental aspect of system interaction. It would be difficult and complicate
for I/O to be handled exclusively by the software that pertained to it. It is incredibly convenient for the OS to handle I/O.
File-system manipulation is also a crucial part of any OS, without it computers would be essentially read only or write only 
machines with very limited capabilities. Communication is also important for the transfer of data and information and coordination 
work performed on large projects involving more than one computer. Error protection is necessary to protect your system from 
anything that could potentially go wrong. Without error detection minor problems could build on other proplems until they eventually
become major problems while the user remains oblivious.

2.
(a) .0028 seconds 
(b) .0056 seconds
(c) .028 seconds
(d) 27.3475 seconds
(e) 273437.5 seconds