1/57
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
The Role of an Operating System (OS)
Acts as a bridge between hardware capabilities and user needs, providing essential support for efficient and safe application development and use.
Abstraction and Virtualization
Utilized by OS to simplify and enhance the interaction between hardware and users. Abstraction combines simpler operations into more complex ones, hiding details. Virtualization creates illusions of more favorable characteristics than the actual hardware.
The OS as a Resource Manager
Optimizes the use of computational resources to ensure good overall performance, including CPU, memory, and I/O devices
Multiprogramming and Time-sharing
Techniques to improve CPU utilization and throughput by running multiple programs simultaneously and sharing CPU time among multiple computations.
OS Structure
A hierarchical organization to manage complexity, with the kernel providing essential services and supported by libraries and applications
Interrupts and Traps
Mechanisms for handling events and errors, transferring control to appropriate service routines in the OS
Evolution and Scope of OSs
The classification of OSs over time, driven by hardware advancements and application environments, from batch processing systems to modern multi-user, interactive, and real-time systems
CPU (Central Processing Unit)
The primary component of a computer that performs most of the processing inside a computer.
Main Memory
The primary storage or RAM (Random Access Memory) where programs and data are kept for quick access by the CPU
Secondary Storage
Non-volatile storage like HDDs (Hard Disk Drives) or SSDs (Solid State Drives) used for long-term data storage
I/O Devices (Input/Output Devices)
Hardware used for inputting data to or outputting data from a computer.
Kernel
The core part of an OS, responsible for managing system resources and communication between hardware and software applications
System Calls
Requests for service from the application to the OS.
Interrupts
Signals to the processor indicating an event that needs immediate attention.
Virtualization
The process of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources
Computer Storage and Measurement Units
The document begins by detailing the units used for computer storage, such as kilobytes (KB), megabytes (MB), gigabytes (GB), terabytes (TB), and petabytes (PB), and contrasts these with networking measurements, which are in bits.
Memory Management
It explores how all forms of memory provide an array of bytes, each with its own address, and how memory management involves load and store instructions to specific memory addresses.
Secondary Storage
The necessity of secondary storage (e.g., HDDs, SSDs) due to the volatile nature of main memory and its limited capacity is discussed, emphasizing its role in permanently storing large quantities of data.
Storage Hierarchy and Technologies
A hierarchy of storage systems based on speed, size, and volatility is presented, including volatile and nonvolatile storage, and the transition from mechanical to electrical storage solutions.
I/O Structure
The document explains the structure of Input/Output in computers, including the use of Direct Memory Access (DMA) and the efficiency of different architectures (bus vs. switch) in handling I/O operations.
Computing Environments
Various computing environments are outlined, including traditional computing, mobile computing, client-server computing, peer-to-peer systems, and cloud computing, each discussed with their unique characteristics and evolution
Free and Open-Source Operating Systems
An in-depth look at the benefits of free and open-source operating systems, including their history, the difference between free and open-source, and notable examples like GNU/Linux and BSD UNIX
Volatile/Nonvolatile Storage
Volatile storage loses its content when power is turned off, whereas nonvolatile storage retains its content
Direct Memory Access (DMA)
A method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing the CPU to speed up memory operations.
Client-Server System
A computing model in which server systems satisfy requests generated by client systems, used in distributed computing environments.
Peer-to-Peer (P2P) System
A decentralized computing model where each participant, or peer, acts as both a client and a server
Cloud Computing
The delivery of computing services over the internet ("the cloud"), including servers, storage, databases, networking, software, analytics, and intelligence.
GNU General Public License (GPL)
A widely used free software license that ensures end users the freedom to run, study, share, and modify the software.
Operating System Services
These include user interface options (CLI, GUI, touchscreens), program execution, I/O operations, file-system manipulation, communications, error detection, resource allocation, logging, and protection/security.
User and Operating-System Interface
It discusses command-line interfaces (CLI), graphical user interfaces (GUI), and touch-screen interfaces as the means for users to interact with the operating system.
System Calls
Describes system calls as the programming interface between the user program and the operating system, detailing their use, types, and mechanisms.
Types of System Calls
System calls are categorized into process control, file management, device management, information maintenance, communications, and protection
System Services (Utilities)
Covers file management, status information, file modification, and programming-language support, providing a conducive environment for program development and execution.
System Call
A software-triggered interrupt for requesting a kernel service
API (Application Programming Interface)
A set of commands and functions for programming applications to interact with the operating system
CLI (Command-Line Interface)
A text-based interface for entering commands directly to the operating system.
GUI (Graphical User Interface)
An interface featuring graphical elements like windows, icons, and menus for user interaction.
Process Control
System calls related to the creation, execution, and termination of processes.
File Management
System calls for creating, deleting, reading, writing, and managing files.
Device Management
System calls for managing hardware devices
Information Maintenance
System calls for managing and retrieving system information.
Communications
System calls for establishing and managing communication between processes.
Protection
System calls for managing access rights and permissions for system resources.
The Process Concept
Defines a process as an instance of a program being executed. It introduces the Process Control Block (PCB), a data structure that holds all information about a process, including its current state, memory allocation, and execution context.
Process States and Transitions
Discusses various states a process can be in (e.g., running, ready, blocked) and the transitions between these states based on events such as resource allocation or completion of execution.
Process Control Block (PCB)
Details the components of a PCB, including CPU state, process state, memory pointers, scheduling and accounting information, list of open files, and other resources. It emphasizes the PCB's role in managing and tracking process information throughout its lifecycle.
Organizing PCBs
Explores methods for efficiently organizing PCBs within the operating system, including using arrays or linked lists, to facilitate easy allocation, tracking, and deallocation of processes.
Process Creation and Destruction
Explains how processes are created and destroyed, including the allocation of a new PCB upon process creation, setting initial state and resources, and the cleanup activities involved in process destruction.
Process
An instance of a program in execution.
Process Control Block (PCB)
A data structure in the operating system that contains all the information about a process.
CPU State
Part of the PCB that stores the contents of CPU registers and flags for a process.
Process State
Indicates the current status of a process (e.g., running, ready, blocked).
Memory Management
Refers to the management of the primary memory or RAM and involves keeping track of each byte of memory to decide how allocation and deallocation occurs.
Scheduling Information
Information used by the operating system to schedule processes on the CPU, including process priority and CPU time used.
Open Files
A list of files that a process has opened, maintained within the PCB.
Process Creation (create())
The function called by the operating system to create a new process, involving the allocation and initialization of a new PCB.
Process Destruction (destroy())
The function called to terminate a process and free its resources, including deallocating its PCB.