Commit e823dca
Changed files (2)
doc
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.