<aside>
<img src="/icons/map-pin_gray.svg" alt="/icons/map-pin_gray.svg" width="40px" /> This is essentially an overall summary of the key points discussed in each chapter. Keep in mind certain topics — like code blocks or certain figures — might not be present in this. It should provide a general idea or remind you about the topics we’ve covered. There are some bullet points taken from previous midterms/quizzes.
</aside>
1 Introduction to Computer Systems
- A computer system is a system composed of two major components: hardware and software.
- Computer hardware is the physical equipment.
- Computer software is the collection of programs that allows the hardware to do its job. It is divided into two broad categories: the OS and application programs.
- An operating system is an interface between the hardware of a computer and the user.
- A real-time system has no time constraints.
- Multitasking is when multiple applications operated at the same time.
- Multiprocessing is when there more than one CPUs that can be shared.
- Multithreading is when smaller parts of a program are loaded when needed by OS.
- The views of an OS: end user (non-technical), application programmer, and system programmer/administrator.
- A modern operating system has at least four duties: memory manager, process manager, device manager and file manager.
- There are three basic elements that make up the major design components of any operating system: user interface, kernel, and file management system.
- The two modes of operation of an operating system are called user and kernel.
- Portable Operating System Interface (POSIX) represents a set of standards implemented primarily for UNIX-based operating systems.
2 Process Manager
- A process is a program in execution.
- A trace is a sequence of instructions that are executed when a process is running.
- The portion of the OS that selects the next process is called the dispatcher. Context switching between processes is carried out by the dispatcher.
- When one process spawns another, the former is referred to as the parent process, and the spawned process is referred to as the child process.