Commit e823dca

mo khan <mo.khan@gmail.com>
2021-01-12 03:44:49
docs: more notes
1 parent 6247b0a
Changed files (2)
doc/1.md
@@ -77,3 +77,74 @@ Secondary storage must be able to hold large quantities of data permanently.
 
 The magnetic disk is a common secondary storage device.
 Most programs are stored on disk until they are loaded into memory.
+
+## Computer System Architecture
+
+Single-Processor Systems: one main CPU
+Multiprocessor System: have two or more processors in close communication sharing the computer bus, clock, memory and peripheral devices.
+
+Multiprocessor systems have three main advantages:
+
+1. Increased throughput: more work done in less time.
+2. Economy of scale: can cost less because they share peripherals, storage, and power.
+3. Increased reliability: failure of one processor will not halt the system. only slow it down
+
+Symetric Multi Processor (SMP): Solaris is a commercial version of UNIX designed by Sun Microsystems. Many processors can run simultaneously.
+Uniform Memory Access (UMA): access to any RAM from any CPU takes the same amount of time.
+Non-uniform Memory Access (NUMA): some parts of memory may take longer to access than other parts.
+
+Another trend is to include multiple cores on a single chip. These are like multiprocessor chips.
+On chip communication is faster than a single core per chip.
+One chip with multiple cores also uses less power than multiple single-core chips.
+
+
+Dual core design:
+
+```plaintext
+   ------------------------------------
+   | ---------------  --------------- |
+   | | CPU core0   |  | CPU core1   | |
+   | | ----------- |  | ----------- | |
+   | | |registers| |  | |registers| | |
+   | | ----------- |  | ----------- | |
+   | |      |      |  |     |       | |
+   | | ----------- |  | ----------- | |
+   | | |  cache  | |  | |  cache  | | |
+   | | -----|----- |  | -----|----- | |
+   | -------|-------  -------|------- |
+   ---------|----------------|---------
+            ------------------
+                    |
+                ----------
+                | memory |
+                ----------
+```
+
+Job pool
+
+```plaintext
+ 0   |------------------|
+     | operating system |
+     |------------------|
+     | job 1            |
+     |------------------|
+     | job 2            |
+     |------------------|
+     | job 3            |
+     |------------------|
+     | job 4            |
+512M |------------------|
+```
+
+Operating schedules a job to put into memory to execute.
+When the job needs to wait for an I/O operation to complete
+the operating system switches to another job and so on.
+As long as at least one job needs to execute then the CPU is never idle.
+
+In time-sharing systems, the CPU executes multiple jobs
+by switching among them, but the switches occur so frequently that
+the users can interact with each program while it is running.
+
+A program laoded into memory and executing is called a process.
+When a process executes, it typically executes for only a short time
+before it either finishes or needs to perform I/O.
doc/assignment1.md
@@ -8,12 +8,18 @@ Instructions: Please answer the following questions in complete sentences. Your
 
 1. Define the concepts interrupt and trap, and explain the purpose of an interrupt vector.
 
-An interrupt vector is a list or table of interrupts. Each interrupt has an
-address to the interrupt routine to execute when the interrupt is signaled.
-A trap is a way to capture a triggered signal to allow programs to respond to
-and handl the signal.
+  An interrupt vector is a list or table of interrupts. Each interrupt has an
+  address to the interrupt routine to execute when the interrupt is signaled.
+  A trap is a way to capture a triggered signal to allow programs to respond to
+  and handl the signal.
 
 1. How does a computer system with von Neumann architecture execute an instruction?
+
+  * fetch instruction from memory and store that instruction in the instruction register.
+  * decode instruction. may cause operands to be fetched from memory and stored in some internal register.
+  * execute instruction
+  * store result back in register
+
 1. What role do device controllers and device drivers play in a computer system?
 1. Why do clustered systems provide what is considered high-availability service?
 1. Describe an operating system’s two modes of operation.