Operating Systems: Concepts, Structures, and Management
Operating System Fundamentals
A fundamental program that monitors all computer resources.
Purpose of an Operating System
To allow efficient utilization of computer system resources.
I/O Modules
Transport data between the computer and its external environment.
Monitor
The first batch operating system developed by General Motors.
Soft Degradation
The capacity to continue providing services proportional to the active hardware level.
Magnetic Disk
The most common storage device.
Shell
Considered one of the most important parts of an OS.
Cache
Smaller and faster memory than the main memory.
System Calls
Application requests to the monitor to perform operations.
Microkernel Focus
An operating system structure that removes non-essential components from the core.
User-Visible Registers
Registers accessible by machine or assembly language.
Real-Time Systems
Special-purpose operating systems used for scientific applications.
Parallel Systems
Systems with multiple processors sharing resources like the bus, clock, memory, and peripherals.
Creating OS Services
Implementation of programs and access to I/O devices.
Memory Protection
Defined by base and limit registers.
Levels of Hardware in OS Design
1-4 levels in the hierarchy.
Privileged Instructions
Instructions for I/O, memory management modification, or timer control.
Virtual Machine
An excellent tool for operating systems research.
User Mode
Execution mode used by user applications.
Communications
A category of system calls for transferring status information.
Dealing with Multiple Interrupts
Two approaches:
- Prioritization: Pursuing the highest priority interrupt.
- Suspension: Executing one interrupt and suspending others until completion.
Importance of Preserving Processor Information
Preserving processor information before an interrupt allows the program to resume execution from the correct point after the interrupt is handled.
Problems with Time Sharing and Multiprogramming
- Processor Issues: Protection mechanisms like timers are needed to prevent user programs from monopolizing the processor.
- I/O System Issues: Declaring I/O instructions as privileged prevents unrestricted user access to the I/O system.
Characteristics of Modern Operating Systems
- Thread Management: Allows software to perform multiple functions concurrently using threads.
- Symmetric Multiprogramming: Each processor core has an identical copy of the OS and operates at the same level.
Layered Approach Performance
The layered approach can have lower performance due to the overhead of multiple module calls for a single activity.
Process Management
Suspended State
A process transitions to a suspended state when its execution is exchanged and it is no longer running.
Process Control Block
The most crucial data structure in an operating system.
Mutual Exclusion
Essential in concurrent programming to ensure that only one process accesses shared resources at a time.
Process Unit
Ownership of resources belongs to the process.
Adjournment
Necessary for changes in mode, process, and state.
Response Time
The time a blocked process takes to resume execution after being unlocked.
Vicious Circle
Linear ordering strategies prevent this deadlock situation.
Non-Appropriation
A process cannot be forced to relinquish a resource it holds.
Hardware Solutions for Mutual Exclusion
Limit the processor’s ability to interleave processes.
Process Completion
Lack of available memory is one reason for process completion.
Critical Section Entry
A process holding a vital lock cannot enter a critical section unless there’s a change in process speed.
Vendor Performance
The most common factor influencing scheduling decisions.
Consumable Resources
Resources that cease to exist after being acquired by a process.
Resource Sharing in Threads
Threads within a process share resources like files, devices, I/O, and memory space.
Levels of Process Knowledge
- No Knowledge: Processes are independent and unaware of each other.
- Indirect Knowledge: Processes share access to objects like I/O buffers without direct awareness of each other’s names.
- Direct Knowledge: Processes can communicate by name and are designed to cooperate on tasks.
Process States
Blocked and Suspended: Ineligible for execution, potentially due to resource unavailability.
Blocked and Ready: Eligible for execution once resources become available.
Memory Management
Relocation
A process returning to execution may be loaded into a different memory location.
Thrashing
Excessive swapping of process fragments.
Stack
Stores self-referential fields.
RAID
A standard for designing databases across multiple disks.
Implementation
Physical address checks occur during execution.
Client-Based Process
The most prevalent architecture, allowing users to run applications tailored to their needs.
Protocols and Applications
Clients and servers share protocols and applications in a client/server model.
Clusters
An alternative to symmetric multiprocessing.
Overlapping
Multiple modules assigned to the same memory region.
Invention
Unauthorized insertion of false data into the system.
Principle of Locality
References to data and programs within a process tend to be clustered.
Interrupt-Driven I/O
The processor is involved only at the beginning and end of the I/O operation.
Next Fit Algorithm
Selects the block closest in size to the requested block.
Logical and Virtual Addresses
Both use displacement.
Interrupts
Provide support for virtual memory management.
Buddy System Allocation
A 235KB partition would be allocated 256KB using the buddy system.
Basic Supervisor I/O
Responsible for device selection for I/O operations based on the chosen file.
Logical Address
A specific case of an address.
Short Batch Jobs
A priority scheduling policy suitable for applications like short batch jobs.
Thick Client
The primary advantage is offloading processing from the desktop.
Centralized Network
Provides a central point of control for network access and usage.
File Allocation Table (FAT)
Used for location tracking.
Middleware
Software like drivers, APIs, or libraries that manage client-server connectivity.
Reference Monitor
A hardware and OS control element that governs subject access to objects.
Conflicting File Organization Criteria
Files that tolerate errors but lack security or fast search capabilities.
Equal Partition Allocation
An algorithm for allocating partitions of the same size.
Key Management in File Systems
Disk space management is crucial.
Client/Server Success Factor
Effective client interaction with the system is key.
Disk Cache
buffer is located in the main memory for disk sectors. When a request for a specific sector caches are checked first
Explains one of the 4 strategies for choosing passwords Password generated by the computer, the passwords are assigned randomly by computer, according to criteria established by it.