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

L1 OS Overview

Uploaded by

Althea Austria
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 views56 pages

L1 OS Overview

Uploaded by

Althea Austria
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

Mary Grace D.

Matias
Department of College of Engineering
Computer Engineering
• Learn about the history of operating systems
• Describe the general organization of a computer system and the role of interrupts.
• Describe the components in a modern multiprocessor computer system.
• Discuss how operating systems are used in various computing environments
• Provide examples of free and open-source operating systems
• Identify services provided by an operating system
• Illustrate how system calls are used to provide operating system services
• Apply tools for monitoring operating system performance
• A program that acts as an intermediary between a user of a computer
and the computer hardware.

• A program which controls the execution of all other programs.

• Operating system goals:


o Execute user programs and make solving user problems easier
o Make the computer system convenient to use
o Use the computer hardware in an efficient manner
Windows OS Linux
Debian Ubuntu
Mac OS CentOS
Android Raspberry Pi OS
Fedora FreeBSD
iOS Chrome OS
Red Hat Mint
• HARDWARE – provides basic computing
resources CPU, memory, I/O devices
• OPERATING SYSTEM - Controls and
coordinates use of hardware among various
applications and users
• APPLICATION PROGRAMS – define
the ways in which the system resources are
used to solve the computing problems of
the users.
• USERS - People, machines, other
computers
• First Generation (1940's to early 1950’s)

o Computers do not have any operating system.


o All programming was done in absolute machine language.
o Computers were used to solve simple math calculations. Thus, OS
wasn’t needed.
• Second Generation (1955-1965)

o The first OS was called GMOS, created by General Motors for IBM’s 701
machine in the early 1950’s.
o OS in the 1950's were called single-stream batch processing systems
because the data was submitted in groups.
o These new machines were called mainframes and were used by
professional operators in large computer rooms.
o Only government agencies or large corporations were able to afford
computers.
• Third Generation (1965-1980)
o By the late 1960’s, OS designers were able to develop the system of
multiprogramming.
Multiprogramming - a computer program performs multiple jobs at the same time.
- allowed a CPU to be nearly 100%

o The phenomenal growth of minicomputers occurred during the third


generation. It started with the DEC PDP-1 in 1961.
PDP-1: 4K of 18-bit words
costs $120,000 per machine
• The Fourth Generation (1980-Present Day)

o Rise of personal computers.


o Personal computers were much cheaper.
o Individual were able to own computers for personal use while minicomputers
where still at such a high price that only corporations could afford them.
o Today all of our electronic devices run off of operating systems, from our
computers and smartphones, to ATM machines and motor vehicles.
o As technology advances, so do operating systems.
Memory Processor File Device
Management Management Management Management

I/O Storage Command


Security
Management Management Interpretation

Communication
Networking Job Accounting
Management
• Makes the computer system convenient to use in an efficient manner.
• Hides the details of the hardware resources from the users.
• Provides users a convenient interface to use the computer system.
• Acts as an intermediary between the hardware and its users
• Manages the resources of a computer system.
• Keeps track of who is using which resource, granting resource requests, and
mediating conflicting requests from different programs and users.
• Provides efficient and fair sharing of resources among users and programs.
• Batch OS
o Every user prepares a job on an offline device like a punch card and
submit it to the computer operator.

• Time-Sharing OS
o Enables people located at a different terminal(shell) to use a single computer
system at the same time.
o The processor time shared among multiple users is termed as time sharing.
• Embedded OS

o Specific purpose operating system used in the computer system's


embedded hardware configuration.
o These OS are designed to work on dedicated devices like automated teller
machines (ATMs), airplane systems, digital home assistants, and the
internet of things (IoT) devices.
• Multiprocessing OS

o Refers to the use of two or more CPU within a single computer system.
These multiple CPUs are in a close communication sharing the computer
bus, memory and other peripheral devices.
o Used when very high speed is required to process a large volume of data.
• Real-Time OS

o Used to provide services and data processing resources for applications in


which the time interval required to process & respond to input/output
should be so small without any delay real-time system.
• Distributed OS

o Provides an environment in which multiple independent CPU or processor


communicates with each other through physically separate computational
nodes. Each node contains specific software that communicates with the
global aggregate operating system.
• Network OS

o Runs on a server.
o It provides the capability to serve to manage data, user, groups, security,
application, and other networking functions.
• Mobile OS

o Especially designed to power smartphones, tablets, and wearables devices.


(OS Structure)
• Do not have well defined structure and are small, simple and limited
systems.
• The interfaces and levels of functionality are not well separated.
• Ex: MS-DOS
In MS-DOS application programs are able to access the basic I/O routines.
• These types of operating system cause the entire system to crash if one of
the user programs fails.
• An OS can be broken into pieces and retain much more control on
system.
• In this structure the OS is broken into number of layers (levels).
• The bottom layer (layer 0) is the hardware and the topmost layer (layer N)
is the user interface.
• Layers are designed so that each layer uses the functions of the lower
level layers only.
• Simplifies the debugging process.
Layer People Domain
Application Programs Application Programmers Software
System Utility Programs
Operating System System Programmers
I/O System (BIOS)
Computer System Computer Engineers Hardware
CPU Computer Architects
Memories, Logic Circuits, Flip-Flops, Gates Logic Designers
Transistors, Diodes, Resistors, Power Materials Scientists
Supplies
• Today's computer systems have
programmable processing units
that communicate with a variety of
devices, each of which is
controlled by an I/O controller
and uses memory.
• Devices are roughly classified into input
devices, output devices and storage devices.
• Software can be roughly divided into systems software and applications
software. The dividing line is fuzzy, but the basic concepts are:

Applications Software Systems Software


Written for people Written for computers
Deals with human-centered abstractions Deals with computer-centered concepts like
like customers, products, orders, registers and memory locations
employees, players, users
Solves problems of interest to humans, Controls and manages computer systems
usually in application areas like health
care, game playing, finance, etc.
Applications Software Systems Software
Concerned with anything high-level Concerned with data transfer, reading from and
writing to files, compiling, linking, loading,
starting and stopping programs, and even fiddling
with the individual bits of a small word of
memory
Is almost always device or platform Deals with writing device drivers and operating
independent; programs concentrate on systems, or at least directly using them;
general-purpose algorithms programmers exploit this low-level knowledge
Is often done in languages like JavaScript, Is often done in assembly language, C, C++, and
Perl, Python, Ruby, Lisp, Elm, Java, and C# Rust where programmers have to manage
that feature automatic garbage collection and memory themselves
free the programmer from low-level worries
Applications Software Systems Software
Is done in languages that generally have big Generally feature extremely small run-time
fat runtime systems images, because they often have to run in
resource constrained environments
If done properly, can be very efficient: If done properly, can be very efficient: you can
good garbage collection schemes allow take advantage of the hardware
much more efficient memory utilization
than the usual memory micro-management
common in C programs
• Programming languages are divided into three categories:
• high-level languages
• assembly languages
• machine languages.
• A processor is programmed in machine language.
• Instructions in an assembly language map one-to-one to machine language
instructions.
• People often write in a high-level language, which a compiler translates to
assembly language, which an assembler translates into machine language:
Here’s an example. Start with this C++ function:
The compiler produces this assembly language:
which becomes this in machine language:
Input Processing

Storage Output
• The input computer function accepts data from input devices and sends it
to the computer processor.
• The output function communicates the results of processing.
• A class of hardware devices known as peripherals are used to perform
these functions.
• Data processing is the most basic function of a computer. This function
is performed by the central processing unit (CPU).
• The conversion of information to output is known as processing.

• Storage refers to holding information somewhere. This is accomplished


through peripheral storage devices, which may be internal or external.
• A system call is the method through which a computer program asks
a service from the kernel of the operating system on which it is
running.
• The operating system's services are provided to user programs via the
Application Program Interface (API).
1. Process control: end, abort, create, terminate, allocate and free memory.
2. File management: create, open, close, delete, read file etc.
3. Device management
4. Information maintenance
5. Communication
1. Process creation and management
2. Main memory management
3. File Access, Directory and File system management
4. Device handling(I/O)
5. Protection
6. Networking, etc.

You might also like