Andrew S. Tanenbaum: Operating Systems Design and Implementation
William Stallings: Operating Systems: Internals and Design Principles
Abraham Silberschatz, Peter B. Galvin, Greg Gagne: Operating System Concepts http://codex.cs.yale.edu/avi/os-book/
Randal E. Bryant and David R. O'Hallaron: Computer Systems: A Programmer's Perspective, 2/E http://csapp.cs.cmu.edu/2e/samples.html
Letošní příklady http://gitlab.fjfi.cvut.cz/culikzde/zos-2025
Loňské příklady http://gitlab.fjfi.cvut.cz/culikzde/zos-2024
Program Linking http://csapp.cs.cmu.edu/2e/ch7-preview.pdf
Procesy http://www.tutorialspoint.com/operating_system/os_processes.htm
Plánování procesů https://www.tutorialspoint.com/operating_system/os_process_scheduling.htm
( Long Term Scheduler az Comparison among Scheduler můžete přeskočit, Context Switch doporučuji prečíst )
Vlákna https://www.tutorialspoint.com/operating_system/os_multi_threading.htm
Můžete se podívat na jednoduchý uvod http://www.youtube.com/watch?v=fxMOi7BlTyM
Nebo na klasickou přednášku http://www.youtube.com/watch?v=LNiNOW-_8lw
Process management http://www.youtube.com/watch?v=elzvHG6M-eU
Chapter 6: CPU Scheduling, part 1 http://www.youtube.com/watch?v=Nq5LwpgXY6o
Chapter 6: Processes, part 2 http://www.youtube.com/watch?v=0hjn5k5rN-Y
Úvod - synchronizace http://www.geeksforgeeks.org/introduction-of-process-synchronization
Semafory http://www.geeksforgeeks.org/semaphores-in-process-synchronization/
Introduction to Semaphores http://www.youtube.com/watch?v=e2ujg5K310s
Deadlock http://www.youtube.com/watch?v=x9FF723STvo
Deadlock Avoidance with Resource Allocation Graph, od 9min40sec https://www.youtube.com/watch?v=nDDytwtIMXE
Resource Allocation Graph http://www.youtube.com/watch?v=-VksGXfiK7k
Chapter 5: Process Synchroninzation http://www.youtube.com/watch?v=RDovfnKH6lU
Chapter 7: Synchronization http://www.youtube.com/watch?v=0RpzPerKSX0
Memory management http://www.tutorialspoint.com/operating_system/os_memory_management.htm
( Dříve používané segmenty http://www.geeksforgeeks.org/memory-segmentation-8086-microprocessor )
Virtual memory http://www.tutorialspoint.com/operating_system/os_virtual_memory.htm
Virtual memory http://csapp.cs.cmu.edu/2e/ch9-preview.pdf
Virtual Memory http://www.youtube.com/watch?v=ujoJ7J_l9cY
Memory Management Using Paging http://www.youtube.com/watch?v=kt4LkPFt8Zg
Page Fault in Virtual Memory http://www.youtube.com/watch?v=kt4LkPFt8Zg
Page replacement, prvních 11 minut http://www.youtube.com/watch?v=FWoMSiMep80
( Virtual Memory: 1 Introduction http://www.youtube.com/watch?v=qcBIvnQt0Bw )
( Virtual Memory: 2 Three problems with Memory http://www.youtube.com/watch?v=eSPFB-xF5iM )
Virtual Memory: 3 What is Virtual Memory http://www.youtube.com/watch?v=qlH4-oHnBb8
Virtual Memory: 4 How Does Virtual Memory Work http://www.youtube.com/watch?v=59rEMnKWoS4
Virtual Memory: 5 Page Tables http://www.youtube.com/watch?v=KNUJhZCQZ9c
Virtual Memory: 6 Address Translation http://www.youtube.com/watch?v=ZjKS1IbiGDA
Virtual Memory: 7 Address Translation Example http://www.youtube.com/watch?v=6neHHkI0Z0o
Virtual Memory: 8 Page Faults http://www.youtube.com/watch?v=bShqyf-hDfg
Virtual Memory: 9 Memory Protection http://www.youtube.com/watch?v=uDzXXnNy544
Virtual Memory: 10 Making Virtual Memory Fast http://www.youtube.com/watch?v=uyrSn3qbZ8U
Virtual Memory: 11 TLB Example http://www.youtube.com/watch?v=95QpHJX55bM
Chapter 8: Main memory, part 1 http://www.youtube.com/watch?v=Jy_teuaj7Ic
Chapter 8: Main memory, part 2 http://www.youtube.com/watch?v=8Zw4gIqqZe0
Chapter 8: Main memory, part 3 http://www.youtube.com/watch?v=gUSOVZK7PaU
Chapter 9: Virtual Memory http://www.youtube.com/watch?v=KTx9RNfyFO8
“slidy” z knihy naleznete na http://www.os-book.com/OS10/slide-dir/index.html
Windows CreateFileMapping, MapViewOfFile http://www.labri.fr/perso/betrema/winnt/manamemo.html
( Linux mmap http://www.tutorialspoint.com/inter_process_communication/inter_process_communication_memory_mapping.htm )
( Win32 shared memory http://docs.microsoft.com/en-us/windows/win32/memory/creating-named-shared-memory )
http://www.tutorialspoint.com/operating_system/os_file_system.htm
Souborový systém http://www.tutorialspoint.com/unix/unix-file-system.htm
Přístupová práva http://www.tutorialspoint.com/unix/unix-file-permission.htm
http://www.oreilly.com/library/view/understanding-the-linux/0596002130/ch01s06.html
http://www.tutorialspoint.com/operating_system/os_linux.htm
( http://www.pearsonhighered.com/assets/samplechapter/0/1/3/0/0130187062.pdf )
( http://www.geeksforgeeks.org/introduction-of-system-call )
http://www.tutorialspoint.com/unix/unix-user-administration.htm
http://www.linode.com/docs/tools-reference/linux-users-and-groups
( http://www.pluralsight.com/blog/tutorials/linux-add-user-command )
Fomu - ICE40 FPGA Development Board https://www.adafruit.com/product/4332 https://github.com/skordal/potato/tree/master/src
https://emscripten.org/docs/api_reference/Filesystem-API.html#filesystem-api
XV6 https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf
// #undef UNICODE #include <Shlobj.h> // need to include definitions of constants #include <iostream> using namespace std; int main() { WCHAR path [MAX_PATH]; if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PROFILE, NULL, 0, path))) { wcout << "Home direcory: " << path << endl;; } if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, 0, path))) { wcout << "Documents directory: " << path << endl;; } }