Skip to content

Commit 44cdeee

Browse files
Add more links
1 parent fd629b3 commit 44cdeee

File tree

3 files changed

+62
-22
lines changed

3 files changed

+62
-22
lines changed

Operating_System/Process/IPC.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Interprocess Communications
22

3-
#### Methods in Interprocess Communication
3+
#### **Methods in Interprocess Communication**
44
Inter-process communication (IPC) is set of interfaces, which is usually programmed in order for the programs to communicate between series of processes. This allows running programs concurrently in an Operating System. These are the methods in IPC:
55

66
- Pipes (Same Process)
@@ -35,4 +35,10 @@ Inter-process communication (IPC) is set of interfaces, which is usually program
3535
#### Detailed Explanations
3636
- [Shared Address Space](https://courses.engr.illinois.edu/cs241/sp2012/lectures/29-IPC.pdf) (Shared Memory, Memory Mapped Files)
3737
- [Message transported by OS from one address space to another](https://courses.engr.illinois.edu/cs241/sp2012/lectures/30-IPC.pdf)(Files, Pipes and FIFOs)
38-
- [Some POSIX Examples](https://courses.engr.illinois.edu/cs241/fa2010/ppt/31-IPC.pdf)
38+
- [Some POSIX Examples](https://courses.engr.illinois.edu/cs241/fa2010/ppt/31-IPC.pdf)
39+
40+
41+
#### Implementation
42+
[Brendan's Multi-tasking Tutorial](https://wiki.osdev.org/Brendan%27s_Multi-tasking_Tutorial)
43+
44+
This tutorial will describe a way to implement multi-tasking and task switching for a kernel that uses "kernel stack per task". It has been designed to allow the reader to implement a full featured scheduler (while avoiding common pitfalls) in steps that can be tested before moving on to the next step.

Operating_System/virtual_memory.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
![cache misses](https://i.stack.imgur.com/ILhkK.jpg)
22

3+
### Virtual Addressing
4+
5+
### MMU
6+
7+
### Paging
8+
9+
### TLB
10+
11+
### Page Table
12+
13+
314

415
### Reference
516

README.md

Lines changed: 43 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
9. [C Storage Class, Scope and Memory allocation](https://www.tenouk.com/ModuleZ.html)
1616
10. [C/C++ Storage Classes: const, volatile, local and global](https://www.tenouk.com/Module20.html)
1717
11. Inline functions
18+
1. [Inline Assembly](https://wiki.osdev.org/Inline_Assembly)
19+
2. [Inline Assembly examples](https://wiki.osdev.org/Inline_Assembly/Examples)
1820
12. Declarations in C
1921
13. Runtime data strtuctures
2022
14. [Buffer Overflow](https://www.tenouk.com/Bufferoverflowc/Bufferoverflow1.html)
@@ -138,7 +140,7 @@
138140
2. Sychronization Facilities
139141
4. Memory Management
140142
1. Memory Hardware
141-
2. [Virtual Memory](Operating_System/virtual_memory.md)
143+
2. [Virtual Addressing/Memory](Operating_System/virtual_memory.md)
142144
5. File System Management
143145
6. Device I/O Management
144146
7. RTOS
@@ -151,29 +153,35 @@
151153
6. [API Reference](https://www.freertos.org/a00106.html)
152154
2. [QNX](http://www.qnx.com/developers/docs/qnxcar2/index.jsp?topic=%2Fcom.qnx.doc.neutrino.getting_started%2Ftopic%2Fs3_qnx2nto_Device_driver_model.html)
153155
8. [Linux](https://0xax.gitbooks.io/linux-insides/content/)
154-
- [Great linux overview](http://www.wowotech.net/sort/linux_kenrel)
155-
1. [Kernel Source Code All Versions](https://elixir.bootlin.com/linux/v4.9.242/source)
156-
2. [Linux Device Model](./Operating_System/Linux/Linux_device_model.md)
157-
3. Synchronization primitives
158-
4. Booting
159-
5. [Linux Booting Process](Operating_System/Linux/booting.md)
160-
6. Intialization
161-
7. Interrupt
162-
8. [System Call](Operating_System/Linux/syscall.md)
163-
9. [Boot Loader](Operating_System/Linux/boot_loader.md)
164-
10. Timers and time management
165-
11. Memory Managment
166-
12. [Process Management](https://tldp.org/LDP/intro-linux/html/chap_04.html)
167-
13. [Linux Data Structures](https://tldp.org/LDP/tlk/ds/ds.html)
168-
14. [Linux Socket Programming](https://www.tenouk.com/cnlinuxsockettutorials.html)
156+
1. [Linux Kernel Overview Blogs](http://www.wowotech.net/sort/linux_kenrel)
157+
2. [Kernel Source Code All Versions](https://elixir.bootlin.com/linux/v4.9.242/source)
158+
3. [Linux Device Model](./Operating_System/Linux/Linux_device_model.md)
159+
4. Synchronization primitives
160+
5. Booting
161+
6. [Linux Booting Process](Operating_System/Linux/booting.md)
162+
7. Intialization
163+
8. Interrupt
164+
9. [System Call](Operating_System/Linux/syscall.md)
165+
10. [Boot Loader](Operating_System/Linux/boot_loader.md)
166+
11. Timers and time management
167+
12. Memory Managment
168+
13. [Process Management](https://tldp.org/LDP/intro-linux/html/chap_04.html)
169+
14. [Linux Data Structures](https://tldp.org/LDP/tlk/ds/ds.html)
170+
15. [Linux Socket Programming](https://www.tenouk.com/cnlinuxsockettutorials.html)
169171

170172
### I. Computer Architecture
171173
1. ARM programmer's model
172174
2. Pipeline
173175
3. CPU Architecture
174176
1. ARM
175-
1. [ARM Assembly](https://azeria-labs.com/writing-arm-assembly-part-1/)
177+
1. [ARM overview](https://wiki.osdev.org/ARM_Overview)
178+
2. [ARM Assembly](https://azeria-labs.com/writing-arm-assembly-part-1/)
179+
3. [ARM Paging](https://wiki.osdev.org/ARM_Paging)
176180
2. Intel
181+
1. [GDT Tutorial](https://wiki.osdev.org/GDT_Tutorial)
182+
2. [Interrupt Descriptor Table](https://wiki.osdev.org/Interrupt_Descriptor_Table)
183+
3. [IDT problems](https://wiki.osdev.org/IDT_problems#Problems_with_IDTs)
184+
4. [Advanced Programmable Interrupt Controller (APIC)](https://wiki.osdev.org/APIC)
177185
4. Memory Hierachy
178186
5. [Cache coherence](https://www.geeksforgeeks.org/cache-coherence/)
179187
6. [DMA](./Computer_architecture/dma.md)
@@ -187,10 +195,15 @@
187195
2. [Flash Storage](./HW_Module/Flash_Storage.md)
188196
3. LED/LCD
189197
4. Timer
198+
1. [HPET](https://wiki.osdev.org/HPET)
199+
2. [HPET Spec](https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/software-developers-hpet-spec-1-0a.pdf)
200+
3. [APIC Timer](https://wiki.osdev.org/APIC_timer)
201+
4. [Programmable Interval Timer (PIT)](https://wiki.osdev.org/Programmable_Interval_Timer)
202+
5. [RTC](https://wiki.osdev.org/RTC)
190203
5. Sensors
191204
6. Bluetooth/BLE
192205
7. Wifi
193-
8. LTE
206+
8. LTE Modem
194207
9. USB devices
195208
10. Memory Protection Unit (MPU)
196209
11. Memory Management Unit (MMU)
@@ -202,8 +215,10 @@
202215
1. [JTAG](https://www.xjtag.com/about-jtag/jtag-a-technical-overview/)
203216
2. Trace
204217
3. [GDB](http://beej.us/guide/bggdb/)
218+
1. [Remote GDB](https://sourceware.org/gdb/current/onlinedocs/gdb/Remote-Debugging.html#Remote-Debugging)
205219
4. Sysfs
206220
5. Printk
221+
6. [Kernel Debugging](https://wiki.osdev.org/How_Do_I_Use_A_Debugger_With_My_OS)
207222

208223
### L. Version Control
209224
1. GIT
@@ -345,7 +360,11 @@
345360
2. [C++ Mock tests](https://www.geeksforgeeks.org/quiz-corner-gq/#C++%20Programming%20Mock%20Tests)
346361
3. [Operating system mock tests](https://www.geeksforgeeks.org/quiz-corner-gq/#Operating%20Systems%20Mock%20Tests)
347362

348-
### H. [Interview Preparation](Interview/Preparation/prepare.md)
363+
### I. [Interview Preparation](Interview/Preparation/prepare.md)
364+
365+
### J. Take-Home challenges
366+
1. [Fan Controll System](Interview\Company\intuitive\README.md)
367+
2. [Dynamic Memory Profiling]()
349368

350369
## Hands-On Projects
351370
### A. Raspberry Pi
@@ -393,4 +412,8 @@
393412

394413
[bogotobogo](https://www.bogotobogo.com/cplusplus/multithreading_pthread.php)
395414

396-
[bogotobogo Linux](https://www.bogotobogo.com/Linux/)
415+
[bogotobogo Linux](https://www.bogotobogo.com/Linux/)
416+
417+
[OSDev.org](https://wiki.osdev.org/Main_Page)
418+
419+
[OS projects](https://wiki.osdev.org/Projects)

0 commit comments

Comments
 (0)