summaryrefslogtreecommitdiff
path: root/doc/assignment1.md
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2021-02-08 11:14:38 -0700
committermo khan <mo@mokhan.ca>2021-02-08 11:14:38 -0700
commitc98f206328d436864a6fb29fd197f43143a7e3ce (patch)
tree4cdced584ab9cf365baa7a1b6835f8416c9f2e9f /doc/assignment1.md
parent80d1333e7451346dc25c6e4d1bc7a94411fe596d (diff)
answer more questions
Diffstat (limited to 'doc/assignment1.md')
-rw-r--r--doc/assignment1.md33
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)