0% found this document useful (0 votes)
10 views31 pages

(Topic-1) Introduction

The document provides an introduction to operating systems, explaining their role in managing computer hardware and coordinating application programs. It outlines the components of a computer system, the definition and types of kernels, and clarifies what an operating system is not. Additionally, it presents a historical timeline of operating systems from the 1950s to the 1990s, highlighting key developments and milestones.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views31 pages

(Topic-1) Introduction

The document provides an introduction to operating systems, explaining their role in managing computer hardware and coordinating application programs. It outlines the components of a computer system, the definition and types of kernels, and clarifies what an operating system is not. Additionally, it presents a historical timeline of operating systems from the 1950s to the 1990s, highlighting key developments and milestones.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Introduction to

Operating Systems

Slide by-
Md. Farhan Shakib
Lecturer, Dept. of CSE, RUET
[Link]@[Link]
References
1. Operating System Design The Xinu Approach Second Edition
[Chapter 1]
2. Operating System Concepts Tenth Edition [Chapter 1][Chapter
2]
Operating Systems
Hidden in every intelligent device and computer system is the software that
controls processing, manages resources, and communicates with
peripherals such as display screens, disks, computer networks, and printers.

Collectively, the code that performs control and coordination chores has
been referred to as an executive, a monitor, a task manager, and a kernel;
we will use the broader term operating system.

An operating system is software that manages a computer’s hardware.


Operating Systems
A computer system can be divided roughly into four components: the
hardware, the operating system, the application programs, and a user.

The hardware—the central processing unit (CPU), the memory, and the
input/output (I/O) devices—provides the basic computing resources for the
system.

The application programs—such as word processors, spreadsheets,


compilers, and web browsers—define the ways in which these resources are
used to solve users’ computing problems.

The operating system controls the hardware and coordinates its use among
the various application programs for the various users.
Operating Systems
Operating Systems
A computer system can be divided roughly into four components: the
hardware, the operating system, the application programs, and a user.

The hardware—the central processing unit (CPU), the memory, and the
input/output (I/O) devices—provides the basic computing resources for the
system.

The application programs—such as word processors, spreadsheets,


compilers, and web browsers—define the ways in which these resources are
used to solve users’ computing problems.

The operating system controls the hardware and coordinates its use among
the various application programs for the various users.
Kernel
A more common definition is that the operating system is the one program
running at all times on the computer—usually called the kernel.

Along with the kernel, there are two other types of programs: system
programs, which are associated with the operating system but are not
necessarily part of the kernel, and application programs, which include all
programs not associated with the operation of the system.

Kernel Programs System Programs


Process management Command interpreters / shells (Bash)
Memory management Networking tools (FTP)
Device management Device management tools (Printer driver)
interrupt handling System monitoring tools (Task manager)
File system management
Kernel
Kernel
Monolithic Kernel

– Entire OS runs in kernel space.

– All services (process management, memory, device drivers, file system,


etc.) are part of one big program.

– Fast (since everything is in the same space) but less secure (a bug in one
part can crash the whole system).

– Example: Linux, UNIX


Kernel
Monolithic Kernel
Kernel
Microkernel

– Only the most essential parts (CPU scheduling, memory, IPC) are in the
kernel.

– Other services (file systems, drivers, networking) run in user space.

– More secure and stable but slower (extra communication between kernel
and user space).

– Example: Minix, QNX


Kernel
Microkernel
Kernel
Hybrid Kernel

– Mix of monolithic and microkernel ideas.

– Core services in the kernel, but some services (like drivers) may run in
user space.

– Tries to balance performance and stability.

– Example: Windows NT, macOS (XNU)


Kernel
Exokernel

– Extremely minimal kernel.

– Just manages hardware protection and resource allocation; applications


have more direct control over hardware.

– Very flexible but harder for developers to program.

– Example: MIT Exokernel (research project)


What An Operating System Is Not
First, an operating system is not a language or a compiler. Of course,
an operating system must be written in some language, and languages have
been designed that incorporate operating systems features and facilities.

Second, an operating system is not a windowing system or a browser.


Many computers and electronic devices have a screen that is capable of
displaying graphics, and sophisticated systems permit applications to create
and control multiple, independent windows.

Third, an operating system is not a command interpreter. In a modern


operating system, however, the command interpreter operates as
an application program, and the interpreter can be changed without
modifying the underlying system.
What An Operating System Is Not
Fourth, an operating system is not a library of functions or methods.
Almost all application programs use library functions, and the software found
in libraries can offer significant convenience and functionality. Some
operating systems even employ an optimization that allows code from a
library to be loaded in memory and shared among all applications. Despite
the close relationship, library software remains independent of the
underlying operating system.

Fifth, an operating system is not the first code that runs after a
computer is powered on. Instead, the computer contains firmware (i.e., a
program in non-volatile memory) that initializes various pieces of hardware,
loads a copy of the operating system into memory, and then jumps to the
beginning of the operating system. On a PC, for example, the firmware is
known as the Basic Input Output System (BIOS).
History of OS

1950: No OS

Each program had to handle all hardware directly, including I/O,


memory, and scheduling
History of OS

1964: Batch
processing

IBM introduced OS/360. Focused on batch processing, running jobs


one after another.
History of OS

1969: UNIX

Ken Thompson and Dennis Ritchie at Bell Labs created Unix. Unix was
a closely guarded Bell Labs project initially.
History of OS

1977: BSD UNIX

Developed at UC Berkeley from AT&T Unix. Added networking


(TCP/IP) and virtual memory.

Distributions: FreeBSD, OpenBSD, NetBSD


History of OS

1980: UNIX
System V

AT&T started to commercialize UNIX via UNIX System V. Meanwhile,


Berkeley’s BSD UNIX gained popularity because of TCP/IP. AT&T’s USL
sued the University of California.
History of1981:
OSMS-DOS

Microsoft bought QDOS (Quick and Dirty OS), rebranded it as


MS-DOS, licensed it to IBM for the IBM PC.
History of OS

1983: SunOS

Sun Microsystems is founded. First release of SunOS, Sun’s UNIX


operating system based on BSD UNIX.
History of OS
1983: GNU
Project

Richard Stallman founded Free Software Foundation (FSF) at MIT. Also


started GNU project. Goal was to develop a Free Unix-like OS. GCC
(compiler), Bash (shell), core utilities.
History of OS
1984: System 1

Released with the original Macintosh. One of the first mass-market


OSes with a graphical user interface (GUI), influenced by Xerox PARC.
It was a completely original OS written specifically for the Macintosh
hardware.
History of OS
1985: Windows 1

GUI layer on top of MS-DOS. Apple claimed Microsoft copied the


Macintosh GUI for Windows. Apple sued Microsoft in 1988 (filed in
1985 for GUI-related licensing disputes).
History of OS
1989: NeXTSTEP

Steve Jobs, after being ousted from Apple (1985), founded NeXT Inc.
Unix-based OS with an object-oriented GUI, based on Mach kernel +
BSD Unix. Apple bought NeXT in 1997, brought Jobs back, NeXTSTEP
evolved into macOS.
History of OS
1991: GNU/Linux

Initially hobbyist Linus Torvalds developed a Unix-like kernel for x86


PCs. Combined with GNU tools. Stallman insisted on GNU/Linux
naming; Torvalds preferred “Linux.”

Distributions: Debian (1993), Red Hat Linux (1995), Ubuntu (2004,


based on Debian), Arch Linux (2002).
History of OS

1992: Solaris

Sun decides to move from BSD-based SunOS to an SVR4 (System V


Release 4) UNIX base, co-developed with AT&T.
1993: Windows
History of OS NT 3.1

First Windows built on Windows NT kernel, true 32-bit, preemptive


multitasking, multi-user.
Thank You!

You might also like