Skip to main content

Book 13

Operating Systems

What happens underneath every program: processes and threads, memory, files, the shell and the kernel that runs it all.

Contents

  1. 01Bootloader1A bootloader is a small program that runs after the computer's firmware starts, loads the operating system kernel into memory, and hands control over to it.
  2. 02Command Line Interface2A command line interface (CLI) is a text-based way of using a computer: you type a command with options and arguments, press Enter, and read its output.
  3. 03Context Switch3A context switch is when the operating system saves the state of the running thread or process and restores another one's state so it can use the CPU.
  4. 04CPU4A CPU (central processing unit) is the processor that executes a program's instructions, doing the arithmetic, logic and control work all software runs on.
  5. 05CPU Cache5A CPU cache is a small, very fast memory on the processor that keeps copies of recently used data from RAM, so the CPU spends less time waiting for memory.
  6. 06CPU Scheduling6CPU scheduling is how an operating system decides which ready process or thread runs on each CPU core next, and for how long, so the processor is shared fairly.
  7. 07Daemon7A daemon is a program that runs in the background without a user interface, usually started at boot, to provide a service such as logging, scheduling, or SSH.
  8. 08Deadlock8A deadlock is a situation where two or more threads or processes wait forever for each other to release resources, so none of them can make progress.
  9. 09Device Driver9A device driver is software that lets the operating system control a specific piece of hardware, translating generic OS requests into device-specific commands.
  10. 10File Descriptor10A file descriptor is a small integer that a Unix-like operating system gives a process to refer to an open file, socket, pipe, or other input/output resource.
  11. 11File Permissions11File permissions are rules stored with each file that decide which users may read it, change it, or run it, enforced by the operating system on every access.
  12. 12File System12A file system is the part of an operating system that organizes data on a storage device into files and folders and tracks where each piece is stored.
  13. 13GPU13A GPU (graphics processing unit) is a processor whose thousands of small cores run the same calculation on lots of data at once, for graphics and AI.
  14. 14Heap Memory14Heap memory is the region for data a program allocates at runtime, whose size or lifetime isn't known in advance and can outlive the function that made it.
  15. 15Hypervisor15A hypervisor is software that creates and runs virtual machines, sharing one physical computer's CPU, memory, and devices among several isolated guest systems.
  16. 16Interrupt16An interrupt is a signal to the CPU that an event needs immediate attention, making it pause its current work and run a special handler in the kernel.
  17. 17Kernel17A kernel is the core part of an operating system that manages the CPU, memory, and hardware devices and controls how programs get access to those resources.
  18. 18Kernel Mode18Kernel mode is the privileged CPU state in which the OS kernel has full access to hardware and memory, while ordinary programs run in restricted user mode.
  19. 19Memory Leak19A memory leak is a bug where a program keeps holding memory it no longer needs, so its memory usage grows over time and can slow down or crash the system.
  20. 20Mutex20A mutex is a lock that lets only one thread at a time enter a critical section of code, so threads can't corrupt shared data by changing it at the same time.
  21. 21Operating System21An operating system (OS) is the core software that manages a computer's hardware, shares it out among programs and gives them a common way to use it.
  22. 22Paging22Paging is a memory management scheme that splits memory into fixed-size pages and uses page tables to map each process's virtual pages to physical RAM.
  23. 23Process23A process is a running instance of a program, with its own memory space, resources, and at least one thread of execution managed by the operating system.
  24. 24Race Condition24A race condition is a bug where a program's result depends on the unpredictable timing of threads, processes, or requests that use shared data at the same time.
  25. 25RAM25RAM (random access memory) is a computer's fast, temporary working memory, holding the programs and data in use; its contents are lost when power goes off.
  26. 26Semaphore26A semaphore is a synchronization tool that keeps a counter of available permits, letting up to a fixed number of threads use a resource at the same time.
  27. 27Shell27A shell is a program that reads commands typed by a user or written in a script and asks the operating system to run them, usually through a text interface.
  28. 28Stack Memory28Stack memory is where a thread keeps its functions' local variables and return addresses, growing with each call and shrinking automatically on return.
  29. 29sudo29sudo lets a permitted user run a single command with root's or another user's privileges, after confirming their own password, and logs what was run.
  30. 30Swap Space30Swap space is an area on disk that the operating system uses as overflow for RAM, moving rarely used memory pages there when physical memory runs low.
  31. 31System Call31A system call is a request from a program to the operating system kernel to perform a privileged action, such as reading a file or starting a process.
  32. 32Terminal32A terminal is the program that shows a text interface, passing your keystrokes to a shell or command-line program and displaying the text it sends back.
  33. 33Thread33A thread is the smallest unit of execution an operating system can schedule, running inside a process and sharing that process's memory with other threads.
  34. 34Unix34Unix is a family of operating systems that began at Bell Labs in 1969 and whose design, with small tools, files and a shell, lives on in Linux and macOS.
  35. 35Unix Signal35A Unix signal is a short asynchronous notification the kernel delivers to a process to report an event, such as a stop request, an error, or an expired timer.
  36. 36User Space36User space is the restricted area where ordinary programs run, kept separate from kernel space so a buggy or malicious app cannot take down the whole system.
  37. 37Virtual Memory37Virtual memory is an operating system technique that gives each process its own private address space and maps it to physical RAM or disk behind the scenes.

Back to the libraryNext book: Programming Languages

Read a random page
Open today's review
Switch to the dark theme
Read this page in Türkçe

More

Settings