Post

Introduction to operating systems

This is a summary of Operating Systems lecture held by Markus Miettinen. Also this whole post has his slides as source.

Introduction to Operating Systems

Early Beginnings

The concept of operating systems has a rich history dating back to the early days of computing. Let’s take a journey through the key milestones in the evolution of operating systems.

  • First Programmable Computer: The origin of operating systems can be traced back to Konrad Zuse’s Zuse Z3, the first programmable computer. It utilized mechanical relays and operated on a binary system.

First Generation of Computers (1945-1955)

  • Electronic Vacuum Tubes and Relays: The earliest computers used electronic vacuum tubes or relays for processing. During this era, there were no operating systems. Users had to manually program the computer using methods like patch bays.

  • One Program at a Time: Computers of this generation could run only one program at a time.

1955 - 1965

  • Transistors and Batch Systems: The introduction of transistors and batch processing systems significantly improved efficiency in computing.

  • Programming Languages: This period saw the emergence of programming languages, making it easier for programmers to write code.

1965 - 1980

  • C Programming: The development of the C programming language was a game-changer in the computing world.

  • Integrated Circuits: Integrated circuits became a common component, enhancing the capabilities of computers.

  • Multiprogramming: Computers now allowed for multitasking, with multiple users working on the same machine simultaneously. Computing time was fairly shared among users.

1977 - Today

  • Personal Computers: The advent of personal computers, exemplified by devices like the Commodore 64, revolutionized computing.

  • Mobile Computers: The rapid evolution of technology has given rise to mobile computers, such as smartphones and tablets, which have become an integral part of our lives.

Why Do We Need Operating Systems?

In the early days of computing, there were no operating systems. This made reusing program code difficult and required a significant amount of effort.

What Is an Operating System?

An operating system is a layer of software that provides applications with access to the underlying hardware resources of a computer. In essence, it acts as a convenient abstraction for application programmers to interact with the complex hardware. Writing programs directly for the underlying hardware would be both challenging and inconvenient.

  • User Mode and Kernel Mode: Operating systems operate in two main modes: user mode, where applications like web browsers and email clients run, and kernel mode, where the operating system itself operates. Both modes are software layers that sit atop the hardware layer.

  • Virtual Machine Abstraction: The operating system provides a virtual machine abstraction for programmers to run applications. It offers an execution environment for applications and an interface for hardware resources.

  • Resource Management: Operating systems manage hardware resources and allow different programs shared access to them, aiming for fairness and efficiency.

  • Execution Control: Operating systems control the execution of programs, ensuring isolation during execution. For example, one program is not allowed to overwrite the memory of another.

  • Resource Optimization: Operating systems optimize the use of resources such as registers, cache, main memory, and magnetic disks.

Intel x86 Protection Rings

Protection rings in Intel x86 architecture are a mechanism for isolating processes and users from each other. They offer:

  • Memory Protection: Processes are not allowed to read or modify the memory space of other processes.

  • Access Control: Restricting access to sensitive operations to trusted software components.

  • Privileged Mode: The operating system runs in privileged mode, where critical operations are restricted to the kernel.

File System Management

Operating systems play a crucial role in managing resources, including file systems. They ensure data storage and retrieval are efficient and secure.

Aspects of Operating Systems

Operating systems can be viewed as comprising several key aspects:

  • User Applications
  • Standard Libraries
  • The Operating System itself
  • Hardware

Hardware Abstraction and Resource Management

Operating systems provide hardware abstraction and resource management, encompassing processes, threads, memory management, devices, I/O, file systems, storage, and more.

Resource Management and Control

Resource management and control involve functions like scheduling, concurrency management, synchronization, inter-process communication, and security.

Operating systems have come a long way since their inception, evolving to meet the changing demands of computing. They continue to be a critical part of the technology landscape, enabling users to interact with increasingly complex hardware in a user-friendly and efficient manner.

This post is licensed under CC BY 4.0 by the author.

Impressum  | 

Datenschutz  | 

Manage cookie settings  | 

Using the Chirpy theme for Jekyll

© 2024 CodingTarik. Some rights reserved.