vault backup: 2025-05-05 20:41:16
32
.obsidian/workspace.json
vendored
@ -13,12 +13,12 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Operating Systems/Input Output.md",
|
"file": "Operating Systems/Mass Storage.md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"source": false
|
"source": false
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "Input Output"
|
"title": "Mass Storage"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -200,27 +200,28 @@
|
|||||||
},
|
},
|
||||||
"active": "f9fe04cad473d20c",
|
"active": "f9fe04cad473d20c",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"Pasted image 20250505195901.png",
|
"Pasted image 20250505203114.png",
|
||||||
|
"Pasted image 20250505202532.png",
|
||||||
|
"Pasted image 20250505201950.png",
|
||||||
|
"Pasted image 20250505201859.png",
|
||||||
|
"Operating Systems/Input Output.md",
|
||||||
|
"Operating Systems/Mass Storage.md",
|
||||||
|
"Operating Systems/Inter-Process Communication.md",
|
||||||
|
"Operating Systems/File Systems Management.md",
|
||||||
|
"README.md",
|
||||||
|
"Untitled.md",
|
||||||
|
"Operating Systems/assets/Pasted image 20250505195901.png",
|
||||||
|
"Operating Systems/assets/Pasted image 20250505201102.png",
|
||||||
|
"Operating Systems/assets/Pasted image 20250505200548.png",
|
||||||
|
"Operating Systems/assets/Pasted image 20250505200028.png",
|
||||||
"Operating Systems/assets/Pasted image 20250505194426.png",
|
"Operating Systems/assets/Pasted image 20250505194426.png",
|
||||||
"Operating Systems/assets/Pasted image 20250505193602.png",
|
"Operating Systems/assets/Pasted image 20250505193602.png",
|
||||||
"Operating Systems/assets/Pasted image 20250505192629.png",
|
"Operating Systems/assets/Pasted image 20250505192629.png",
|
||||||
"Operating Systems/File Systems Management.md",
|
|
||||||
"Operating Systems/Input Output.md",
|
|
||||||
"Operating Systems/assets/Pasted image 20250505163335.png",
|
|
||||||
"Operating Systems/Inter-Process Communication.md",
|
|
||||||
"Operating Systems/Processes and Threads.md",
|
"Operating Systems/Processes and Threads.md",
|
||||||
"Operating Systems/Scheduling.md",
|
"Operating Systems/Scheduling.md",
|
||||||
"Operating Systems/Overview.md",
|
"Operating Systems/Overview.md",
|
||||||
"Operating Systems/assets/Pasted image 20250505162331.png",
|
|
||||||
"Operating Systems/assets/Pasted image 20250505161542.png",
|
|
||||||
"Operating Systems/assets/Pasted image 20250505161031.png",
|
|
||||||
"Operating Systems/Memory Management.md",
|
"Operating Systems/Memory Management.md",
|
||||||
"Operating Systems/Virtual Memory.md",
|
"Operating Systems/Virtual Memory.md",
|
||||||
"Operating Systems/assets/Pasted image 20250505155546.png",
|
|
||||||
"Operating Systems/assets/Pasted image 20250505160518.png",
|
|
||||||
"Untitled.md",
|
|
||||||
"Operating Systems/assets/Pasted image 20250505154746.png",
|
|
||||||
"README.md",
|
|
||||||
"Untitled.canvas",
|
"Untitled.canvas",
|
||||||
"Discrete Structures/Midterm/attempt 2.md",
|
"Discrete Structures/Midterm/attempt 2.md",
|
||||||
"Discrete Structures/Mathematical Data Structures.md",
|
"Discrete Structures/Mathematical Data Structures.md",
|
||||||
@ -237,7 +238,6 @@
|
|||||||
"Software Engineering/Reqirements.md",
|
"Software Engineering/Reqirements.md",
|
||||||
"Introduction to Machine Learning/Introductory lecture.md",
|
"Introduction to Machine Learning/Introductory lecture.md",
|
||||||
"Languages & Machines/Introduction.md",
|
"Languages & Machines/Introduction.md",
|
||||||
"Functional Programming/Proofs.md",
|
|
||||||
"Languages & Machines/assets",
|
"Languages & Machines/assets",
|
||||||
"Languages & Machines",
|
"Languages & Machines",
|
||||||
"Extracurricular/Misc/Proposed Routine Plan.canvas",
|
"Extracurricular/Misc/Proposed Routine Plan.canvas",
|
||||||
|
@ -86,3 +86,40 @@ An alternative mode is to have the device controller send the word to DMA contro
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
### Handling interrupts
|
||||||
|
- Microprogram or hardware checked to see if there was an interrupt pending.
|
||||||
|
- Instruction cycle:
|
||||||
|
- Fethc
|
||||||
|
- Decode
|
||||||
|
- Read operands
|
||||||
|
- Execute
|
||||||
|
- Store
|
||||||
|
- Check for interrupts
|
||||||
|
|
||||||
|
This can be pipelined
|
||||||
|
|
||||||
|
### Precise interrupts
|
||||||
|
1. PC is saved in a known place
|
||||||
|
2. All instructions before the one pointed to by the PC have completed
|
||||||
|
3. No instruction beyond the current one has vfinished
|
||||||
|
4. Execution state is known
|
||||||
|
|
||||||
|
An interrupt that doesn't meet the above requirements is called **imprecise**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Clocks
|
||||||
|

|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> Watchdog timers **ARE clocks**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Mass Storage
|
||||||
|
Secondary storage for modern computers and shit.
|
||||||
|
|
||||||
|
38
Operating Systems/Mass Storage.md
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
|
||||||
|
## Hard disks (HDDs)
|
||||||
|
Spin platters of magnetically-coated material under moving RW heads
|
||||||
|
- Rotate at 60 to 250 times/s
|
||||||
|
- Transfer rate is rate at which data flows between drive and pc
|
||||||
|
- Positioning time (Random access time) to move disk arm to desired cylinder (seek time) and time for desired sector to rotate under the disk head (rotational latency)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
### Controller
|
||||||
|
Receives data/ command from the OS, controls I/O operation and sends back results to OS
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
### I/O steps
|
||||||
|
- Move head to track -> Seek Time (S)
|
||||||
|
- Find sector -> Rotational Latency Time (r)
|
||||||
|
- Transfer data to/from controller -> Block Transfer Time (btt)
|
||||||
|
- Error checking and report to OS
|
||||||
|
|
||||||
|
|
||||||
|
### Disk Formatting
|
||||||
|
Each platter must receive a low-level format done by software, i.e. marking the cylinders and tracks, each containing a few sectors, with short gaps in between
|
||||||
|
|
||||||
|
Each sector includes:
|
||||||
|
- Preamble: starts with start of the sector bit pattern, the cylinder and sector numbers
|
||||||
|
- Data: size of the data portion is determined by the formatting program -> 512 bytes usually
|
||||||
|
- ECC: error correction, typically 16 bytes
|
||||||
|
|
||||||
|
|
||||||
|
Numbering the sectors
|
||||||
|
- Position of sector 0 on each track is offset from the previous track when the low-level format is laid down (cylinder skew)
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
BIN
Operating Systems/assets/Pasted image 20250505200028.png
Normal file
After Width: | Height: | Size: 123 KiB |
BIN
Operating Systems/assets/Pasted image 20250505200548.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
Operating Systems/assets/Pasted image 20250505201102.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
Pasted image 20250505201859.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
Pasted image 20250505201950.png
Normal file
After Width: | Height: | Size: 89 KiB |
BIN
Pasted image 20250505202532.png
Normal file
After Width: | Height: | Size: 408 KiB |
BIN
Pasted image 20250505203114.png
Normal file
After Width: | Height: | Size: 603 KiB |