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

  1. No Knowledge: Processes are independent and unaware of each other.
  2. Indirect Knowledge: Processes share access to objects like I/O buffers without direct awareness of each other’s names.
  3. 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.