Object Systems

Lecture 1

Date Taken: Fall 2025
Status: Completed
Reference: LSU Professor Daniel Donze, ChatGPT

Summary

An Operating System (OS) is the essential software that enables a computer to function. It manages hardware resources, provides services for applications, and offers an interface for users. Tasks include process scheduling, memory allocation, file management, device control, and security. Examples include Windows, macOS, Linux, Android, and iOS.

What's Covered?

Computer History

Computational Hardware Timeline

1945 - Mechanical computations using gears and levers.
1945-1955 - Vacuum tubes enabled early electronic calculations.
1960 - Transistors replaced vacuum tubes, increasing efficiency and reliability.
1970 - Integrated Circuits (ICs) brought miniaturization, faster processing, and reduced costs.
1980 - CPUs became the "brain" of computers, managing instructions and data flow.

Enigma Machine (1930)

Electronic Numerical Integrator and Computer (ENIAC)

UNIVAC & IBM 701 (1950s)

Atlas (1960s)

PDP Series and Early Innovations

Modern Operating System

Modern OS are large, complex and imperfect and they also contains millions lines of code which will have bugs. They don't always run in order and often need to work with old programs. Knowing and understanding the basic compuyer hardware help greaty because they depend on hardware. A big part of what an OS does is managing input and output (I/O), since computers use many devices. Modern computers also have a lot of "smart hardware," meaning devices that do some of the work themselves.

Operating System Theory

An OS manages hardware and software resources, ensuring stability and efficiency. Key concepts include:

Structure of an OS

Operating System Structure

MS-DOS Operating System Structure

MS-DOS (Microsoft Disk Operating System) was one of the earliest and most widely used operating system for IBM-compatible PCs in the 1980s and early 1990s. It is considered a structure-less OS because it did not separate user programs from the operating system itself. Early OS for IBM PCs, known for its simple command-line interface. Replaced by Windows in the 1990s.

MS-DOS Operating System Structure

Monolithic Kernel

A monolithic kernel is one of the most common operating system structures. In this design, most of the operating system's core service like memory management, process scheduling, device drivers, and file systems all run together in kernel space.

Advanatges: fast performance, no extra layervs between kernel compenents. Effcient communication, all kernel services run in the same memory space, so switching between them is quick. Disadvantages, less stable, a bug in a single kernel component like a driver can bring down the whole system. Harder to maintain, since everything is packed together, making changes can be complex

Monolithic Kernel - Bad Address Access Monolithic Kernel Structure Monilithic Kernel Based Operating System Structure

Microkernel

A microkernel is an operating system design that moves most of the operating system's services out of the kernel and into user space, keeping the kernel itself as small and simple as possible.

Advantages, Better stability, failures in user-space services don't crash the whole system. Easier to maintain and extend, adding or updating services is simpler. Security, faults in user-space components are isolated, redicing system-wide risks. Disadvantages, performance overhead, extra communication between kernel and user-space services can slow some operations. More complex design, requires caredul design of communication mechanisms and service interactions.

Microkernel Structure Microkernel Based Operating System Structure

Hybrid Kernel

A hybrid kernel is a type of operating system structure that combines elements of both monolithic kernels and microkernels. It tries to take the best parts of each approach while avoiding their weaknesses. Example: MacOS and IOS, Android, Window NT

Advantages, balanced approach, combines performane of monolithic kernels with safety of microkernels. Adaptable, OS designers can customize what runs where, depending on system goals. Modern standard, most modern operating systems are hybrids, even if they lean heavily toward one side. Disadvantages, complexity, Hybrid kernels are harder to design and maintain because they mix two models. Hybrids still inherit some weaknesses from both approaches.

Hybrid Kernel Structure

Loadable Kernel Modules

Modern OS (Windows, Mac, Linux) support the ability to add or remove parts of the kernel dynamically. These components are called Loadable Kernel Modules (LKM).

Advantages, Reduced memory usage: Only load components when needed. Improved modularity: Kernel stays smaller and easier to maintain. Ease of updates: Drivers or modules can be updated independently from the OS kernel.

Reak-Time Operating System

A real-time operating system is designed to execute tasks within strict timing constraints. Unlike regular operating systems that focus on throughput and fairness, RTOS prioritize predictable timing and deadlines.

Device Operating Systems

Operating systems are designed differently depending on the type of device they run on. Each device has unique challenges, performance goals, and user needs, which influence how the OS is structured and what features it prioritizes.

OS design adapts to the hardware and use case. Each device type requires the OS to balance performance, efficiency, and reliability differently. Understanding the target device is crucial when designing, analyzing, or using an operating system.