Teacher
|
MAROTTA ROMOLO
(syllabus)
- Computer System Overview: architecture, CPU, registers, instruction execution, interrupt, memory hierarchy, locality, I/O, procedures - Operating Systems Overview: definitions, objectives, architecture, kernel/user mode, caratteristiche salienti - Processes and Threads: dispatching, states, description and control, models and memory management - Memory: allocators, partitioning, best/first/next fit, buddy algorithm, paging, segmentation, virtual memory and its hardware/software management/supports - Scheduling: short-term and long-term scheduling, algorithms for cpu scheduling - I/O and File Management: Disk scheduling, RAID, UNIX File Management, inode, Linux VFS, ext2 - Synchronization: primitives, RMW, mutex, semaphores - Introduction to Linux: frequently-used commands (e.g., file and directory management), environment variables, piping, redirection, signals, regular expressions (sed e grep), scripting (bash, awk), linux filesystem management - Debugger: gdb stepping, breakpoints, watching, backtrace, and commands. - System programming: Linux process/thread management - Virtualization: general concepts, containers, Docker
(reference books)
The course is partly based on
W. Stallings, "Operating Systems: Internals and Design Principles", 6th edition (or higher). Prentice Hall. Operating System Concepts - Silberschatz Abraham, Galvin Peter Baer, Gagne Greg - John Wiley & Sons, ninth edition (or higher)
However, some topics are covered only on the slides published in the teaching material.
|