diff options
| author | mo khan <mo@mokhan.ca> | 2021-02-08 11:14:38 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2021-02-08 11:14:38 -0700 |
| commit | c98f206328d436864a6fb29fd197f43143a7e3ce (patch) | |
| tree | 4cdced584ab9cf365baa7a1b6835f8416c9f2e9f /doc | |
| parent | 80d1333e7451346dc25c6e4d1bc7a94411fe596d (diff) | |
answer more questions
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/assignment1.md | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/assignment1.md b/doc/assignment1.md index 2ac5617..19790ba 100644 --- a/doc/assignment1.md +++ b/doc/assignment1.md @@ -174,8 +174,41 @@ Instructions: Please answer the following questions in complete sentences. Your multiple cores uses less power than multiple single-core chips. 1. Describe the relationship between an API, the system-call interface, and the operating system. + + API: Application Programming Interface + System-call interface: The API provided by the operating system for executing privileged instructions. + Operating System: The system managing the interface between the hardware and software. + + The system-call interface is an API provided by the operating systems so that + user programs can request access to perform functions like reading/writing to + I/O devices etc. + 1. Describe some requirements and goals to consider when designing an operating system. + + 1. Provide a system call interface for user mode programs to use. + 2. Provide compilers, linkers etc to build user mode programs. + 3. Provide consistent abstractions to shield user mode programs from needing to know the details of each piece of hardware. + 4. Can execute multiple tasks concurrently + 5. Can operate against different combinations of hardware without impact to user mode programs. + 6. Process management + 7. Memory management + 1. Explain why a modular kernel may be the best of the current operating system design techniques. + + The kernel has a set of core components and links in additional services either during boot time + or during run time. Such a strategy uses dynamically loadable modules and is common in modern + implementations of UNIX, such as Solaris, Linux and macOS. + + Solaris is organized around a core kernel with seven types of loadable kernel modules: + + 1. Scheduling classes + 2. File systems + 3. Loadable system calls + 4. Executable formats + 5. STREAMS modules + 6. Miscellaneous + 7. Device and bus drivers + 1. Distinguish between virtualization and simulation. ## Part 2: Design Considerations (40 marks) |
