CSS 430 Book Notes

Book notes for CSS 430 - Operating Systems

Glossary

Term Definition
Operating System An operating system is software that manages a computer's hardware. It also provides a basis for application programs and acts as an intermediary between the computer user and the computer hardware.
Moore's Law that the number of transistors on an integrated circuit would double every 18 months
Kernel The one program running at all times on a computer
Middleware a set of software frameworks that provide additional services to application developers
Device Driver The device driver understands the device controller and provides the rest of the operating system with a uniform interface to the device.
Interrupt Vector A table of pointers to interrupt routines can be used instead to provide the necessary speed. The interrupt routine is called indirectly through the table, with no intermediate routine needed. Generally, the table of pointers is stored in low memory (the first hundred or so locations). These locations hold the addresses of the interrupt service routines for the various devices.
Interrupt Chaining each element in the interrupt vector points to the head of a list of interrupt handlers. When an interrupt is raised, the handlers on the corresponding list are called one by one, until one is found that can service the request.
Core The component that executes instructions and registers for storing data locally
Symmetric Multiprocessing each peer CPU processor performs all tasks, including operating-system functions and user processes.
L1 Cache Local Cache
Shared System Interconnect Allows all CPUs to share one physical address space
Parallelization Divides a program into separate components that run in parallel on individual cores in a computer or computers in a cluster
System Daemons programs that run the entire time the kernel is running, in linux, this is systemd which starts other daemons
Process A program in execution
System Call A special operation which allows a user program to request an OS service
Program Counter Specifies the next instruction to execute
Cache A temporary, fast storage medium
Cache Coherency Ensuring that all updates to a value are reflected in all caches where that value resides
Protection any mechanism for controlling the access of processes or users to the resources defined by a computer system.
System Calls Provide an interface to the services made available by an operating system
Run Time Environment The full suite of software needed to execute applications written in a given programming language, including its compilers or interpreters as well as other software, such as libraries and loaders.
Single Step Trap is executed by the CPU after every instruction.
System Services Provide a convenient environment for program development and execution
Application Binary Interface defines how different components of a binary can interface for a given operating system on a given archetecture

430 Chapter 1 Introduction


CSS 430 Chapter 2 Operating-System Structures


CSS 430 Book Notes Chapter 3 Processes


CSS 430 Book Notes Chapter 4 - Threads and Concurrency


CSS 430 Book Notes Chapter 5 - CPU Scheduling


CSS 430 Book Notes Chapter 6 - Synchronization Tools


CSS 430 Book Notes Chapter 7 - Synchronization Examples


CSS 430 Book Notes Chapter 8 Deadlocks


CSS 430 Book Notes Chapter 9 Main Memory


CSS 430 Book Notes Chapter 10 Virtual Memory