====== Literatura ====== Skripta Vysoké školy báňské http://projekty.fs.vsb.cz/463/edubase/VY_01_043 soubor Operační systémy.pdf 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 ====== Letošní příklady http://gitlab.fjfi.cvut.cz/culikzde/zos-2024 [[create_file_2021|File Handles]] [[create_process_2021|Create Process]] ====== Předloňské příklady ====== [[::FileHandles|File Handles]] [[::CreateProcess|Create Process]] [[::zos_createprocess|Simple Create Process]] [[mmap|Memory Mapped Files]] Program Linking http://csapp.cs.cmu.edu/2e/ch7-preview.pdf ====== Procesy a vlákna ====== 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 === Videa === 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 Threads http://www.youtube.com/watch?v=4kfiQEA7Qj8 === Kompletní přednášky podle knihy Operating System Concepts === 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 ====== Synchronizace procesů ====== :-) [[http://projekty.fs.vsb.cz/463/edubase/VY_01_043/Opera%C4%8Dn%C3%AD%20syst%C3%A9my/02%20Text%20pro%20e-learning/Opera%C4%8Dn%C3%AD%20syst%C3%A9my%2005.pdf|skripta - synchronizace]] :-) [[http://projekty.fs.vsb.cz/463/edubase/VY_01_043/Opera%C4%8Dn%C3%AD%20syst%C3%A9my/02%20Text%20pro%20e-learning/Opera%C4%8Dn%C3%AD%20syst%C3%A9my%2006.pdf|skripta - uváznutí procesů ]] Úvod - synchronizace http://www.geeksforgeeks.org/introduction-of-process-synchronization Semafory http://www.geeksforgeeks.org/semaphores-in-process-synchronization/ === Semafory - videa === Introduction to Semaphores http://www.youtube.com/watch?v=e2ujg5K310s === Uváznutí procesů - videa === 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 === Kompletní přednášky podle knihy Operating System Concepts === Chapter 5: Process Synchroninzation http://www.youtube.com/watch?v=RDovfnKH6lU Chapter 7: Synchronization http://www.youtube.com/watch?v=0RpzPerKSX0 ====== Správa paměti ====== :-) [[http://projekty.fs.vsb.cz/463/edubase/VY_01_043/Opera%C4%8Dn%C3%AD%20syst%C3%A9my/02%20Text%20pro%20e-learning/Opera%C4%8Dn%C3%AD%20syst%C3%A9my%2002.pdf|skripta - správa paměti]] 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 === videa === 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 === videa - Virtual Memory - David Black-Schaffer === ( 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 === Kompletní přednášky === 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 ====== Soubory zobrazované do paměti (memory mapped files) ====== [[mmap|Memory Mapped Files]] 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 ) ====== Unix, souborový systém ====== 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 ====== Unix, jádro ====== 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 ) ====== Unix, uživatelé a skupiny ====== 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 ) ====== Přístupová práva k unixovým souborům ====== [[access|přístupová práva]] https://github.com/fernandotcl/TinyEMU/blob/master/virtio.c#L2624 ====== Různá videa ====== http://www.youtube.com/playlist?list=PLdo5W4Nhv31a5ucW_S1K3-x6ztBRD-PNa ====== Poznámky ====== 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