Introduction
Operating System
Operating System Zoo
Objectives
• Operating System (OS)
• The Operating System Zoo
– Mainframe OS
– Server OS
– Multiprocessor OS
– PC OS
– Handheld Computer OS
– Embedded OS
– Sensor Node OS
– Real-Time OS
– Smart Card OS
Operating System
Context
• Why do we install the Windows, or Linux, or Unix, or Macs, etc …,
that is called Operating System (OS), before we want to use and
control/ manipulate our computer (laptop or desktop or mobile or
other devices)?
• How do we manipulate the computer hardware (RAM, Disks, AGP
card, Audio card, Keyboard, touch screen, etc …)?
• How can our computer run or execute many programs at the time
without being worried finitely RAM, one or two CPU? Do they run in
parallel or in sequence order? …
• How can our computer allocate the computer’s device to many
running programs at the time?
• What’s the OS’s role in our computer? What’s it’s main functions?
Which problems do we or our computer take without the absent OS?
Is the OS software or hardware?
• The big question is “What is the OS?”
• The important questions are
– Why do we learn OS?
– What constraint do between OS and SE (both IS and ES)?
Operating System
Overview
• A computer system consists of:
– User software
– System software
– Hardware
User
User mode Compilers Editors Shells
Applications
Software
Kernel mode
(supervisor Operating System
mode)
Hardware
Operating System
Definition
• A system software that acts as an intermediary between
user of a computer and the computer hardware
• A collection of procedures that:
– Manage all the system’s hardware resources
– Provide the users the environment in which they can
• Use the system resources
• Run their own applications
• Goals
– Execute user programs (mostly for ease of use with
performance)
– Make the hardware efficiently and convenient to use
– Controls and coordinates the use of hardware among the
various application programs for various users
– Hides the peculiarities of disks and I/O devices
Operating System
Terminologies
• Kernel mode
– Is also called supervisor mode
– OS runs in this mode
– Gains control of the computer
– Has complete access to all the hardware
– Can execute any machine instructions
– Protects the OS from errant users
• User mode
– The user software runs in this mode
– Can execute a subset of the machine instructions with the exception of
instructions to control of the machine or do I/O
• The system switches between the kernel mode and user mode
– If the user interacts with OS, the user mode switches to the kernel mode
– If the system passes control to a user program, the kernel mode switches
to the user mode
The Operating System Zoo
Mainframe OS
• Are heavily oriented toward processing many jobs at once, most of
which need prodigious amounts of I/O
• Offers 3 kinds of services
– Batch
• Ex: car assembly lines
• Runs one and only one application
• Process routine job without interactive user present
• The OS always residents in memory and transfer control automatically from one
job to the next in the sequence requested jobs
• CPU is often idle, all jobs are kept on a disk
The Operating System Zoo
Mainframe OS
• Are heavily oriented toward processing many jobs at once, most of
which need prodigious amounts of I/O
• Offers 3 kinds of services
– Transaction processing
• Ex: ATM banking
• Handle large numbers of small requests
• A single unit of work that consists of one
or more operations that are interconnected
• Series of operations are All or None
– Timesharing (multitasking)
• Ex: Google Search Server (Interactive System)
• Allow multiple remote users to run jobs on the computer at once
• Each user has at least one separate program in memory
• OS/390 and OS/360, then they’re gradually being replaced by UNIX
variants such as Linux
The Operating System Zoo
Server OS
• Runs on Server (PC,
workstation, or mainframe)
• Serves multiple users at once
over a network and allow the
users to share hardware and
software resources
• Servers can assume particular
task on different server
(machine) as web, mail,
application, file, firewall, CA –
Certificated authentication, etc …
• UNIX, Windows NT, Windows
2K (2000, 2003, 2008), Linux,
Fedora Core, Ubuntu, Solaris ...
The Operating System Zoo
Multiprocessor OS
• Is known parallel systems
• Runs on systems that have many
CPUs (multi-processors, multi-
cores, multi-chips)
• Many processors communicate
in close, share the computer
bus, the clock, and sometimes
memory and peripheral devices
– Increased throughput
– Saving (share peripherals mass
storage, …)
– Increased reliability (not halt
system, sharing the work with other
processors)
• Windows, Linux, SunOS
(Solaris), UNIX, OS/2 …
The Operating System Zoo
Personal Computer OS
• Supports multiprogramming
• Good supports to a single user (thus, it
has become popular nowadays)
• Optimizes for maximizing user
convenience and responsiveness
• Are used for word processing,
spreadsheets, Internet access …
• Windows 98, Windows ME, Windows
XP, Windows Vista, Windows 7,
Macintosh, Linux, Fedora Core, Ubuntu
...
The Operating System Zoo
Handheld Computer OS
• Supports a small computer as handheld or PDA (Personal Digital
Assistant), mobile (cellular) phones, smart phones.
• Is used with small memory, slow processors, small display screen
• Are increasingly sophisticated, with the ability to handle
telephony, digital photography, …
• Can only run single application
• Today, some handheld OS (smart phone) can run multiple program (e.g.
Windows Mobile version ≥ 6, Symbian ≥ 7, Mac, Android, iOS, …)
• Symbian, Palm, Windows Phone, Windows CE, Android, iOS…
The Operating System Zoo
Embedded OS
• Insides electronic devices such as
microware ovens, TV, cars, DVD,
cellular phones, MP3 player, recorder …
• Is tailored for its specific applications
• Runs a limited number of programs,
known at design time
• It may be possible to make
optimizations not possible in
general purpose systems
• There is no need for protection
between applications
• Is located in ROM
• VxWorks, QNX
The Operating System Zoo
Sensor Node OS
• Supports sensor node
• Each sensor node is a real
computer with CPU, RAM, ROM,
and one or more environmental
sensors
• Usually one that is event driven,
responding to external events or
making measurements
periodically based on an internal
clock
• Ex: on camera secure the building,
forecast or predict environments
(weather, fires, temperatures …)
• Small size, using low power
• Is dependent on battery
• TinyOS
The Operating System Zoo
Real-Time OS
• Time is important, and the hard
deadlines must be met
• Supports real-time system as
industrial robots, assembly line,
digital telephones
• 2 types
– Hard real-time system
• Provides absolute guarantee certain
time
• Ex: military, avionics, …
– Soft real-time system
• Can miss deadline (that does not cause
permanent damage)
• Ex: digital telephones, multimedia
systems, real virtual
• eCos
The Operating System Zoo
Smart Card OS
• Ex: credit card, ATM, Wireless LAN Card Bus Card, …
• Runs on smart cards (with better security and universality)
• Have very severe processing power and memory constraints
• Can handle electronic payments, presenting Java applets
Summary
• Operating System
• Operating Systems
Q&A
Next Lecture
• Operating System Concepts
• process, address space, file , io, …
• System Calls