You are on page 1of 55

EC503 -OPERATING SYSTEMS

CHAPTER 1 :INTRODUCTION TO
OPERATING SYSTEM

OVERVIEW

Basic concept of operating system


Describes the various types of
operating system
Interface between operating system
Its application programs (System
Calls).

Definition

Prior definitions -the software that


controls the hardware
Today's def : the programs that
make the hardware useable
Functions : to make an interface
between human and
computer/hardware
But in other hands, OS also manage
the resources that reside in our
computer

In this figure, the OS


became an interpreter for
User , Applications and
Hardware to communicate.

The misconception

Sometimes the
need of user
and the input
that receives
by computer is
wrong

The part of OS
Applications services (.exe)

Where kernel reside?

In computing, the kernel is a computer program that manages


input/output requests from software into data processing
instructions for the central processing unit and other
electronic components of a computer. The kernel is a fundamental
part of a modern computer's operating system.[1]
When a computer program (in this case called a process) makes
requests of the kernel, the request is called a system call. Various
kernel designs differ in how they manage system calls (time-sharing
) and resources. A monolithic kernel executes all the operating
system instructions in the same address space to improve the
performance of the system. A microkernel runs most of the
operating system's background process in user space,[2] to make the
operating system more modular and, therefore, easier to maintain.[3]
For computer programmers , the kernel's interface is the lowest-level
abstraction layer.

kernel

The central module of an operating system. It


is the part of the operating system that loads
first, and it remains in main memory.
Because it stays in memory, it is important
for the kernel to be as small as possible while
still providing all the essential services
required by other parts of the operating
system and applications. Typically, the kernel
is responsible for memory management,
process and task management, and disk
management.

OS shell

An operating system shell is a


software component that presents a
user interface to various
operating system functions and
services. Thus, it is nearly synonymous
with "operating system user
interface".[1] The shell is so called
because it is an outer layer of interface
between the user and the innards of
the operating system (the kernel)

OS as resources manager

Imagine what would happen if three programs running on some computer


all
tried to print their output simultaneously on the same printer. The first few
lines
of printout might be from program 1, the next few from program 2, then
some
from program 3, and so forth. The result would be chaos. The operating
system
can bring order to the potential chaos by buffering all the output destined
for the
printer on the disk. When one program is finished, the operating system can
then
copy its output from the disk file where it has been stored to the printer,
while at
the same time the other program can continue generating more output,
oblivious
to the fact that the output is not really going to the printer

1st Generation

No operating systems
Using mechanical relays
Using absolute machine language,
using wiring to control m/c basic
functions
Early 50s using punch card, need to
insert in machine and wait the result

2nd Gen

Challenge: less relays and program


oriented
Computer using transistors instead of
relays and vacuum tube
m/c called mainframe, air-cond, need
special staff to operates
Program is compose on paper, then written
in punch card
While waiting the output, programmer can
have a coffee

continue

People look forward to reduce waste


time
Batch system introduced(ancestor of
OS)
Bunch of punched tapes is collected,
but processed serially and resulting
amount of output after that.
Results is printed offline

Generations of OS
Gen

Period

The First
Generation

19451955

Vacuum Tubes and


Plugboards

The Second
Generation

19551965

Transistors and
Batch Systems

The Third
Generation

19651980

ICs and
Multiprogramming

The Fourth
Generation

1980
Present

Personal Computers

Batch system

(a) Programmers bring cards to 1401.


(b)1401 reads batch of jobs onto tape.
(c) Operator carries input tape to 7094.
(d)7094 does computing.
(e) Operator carries output tape to 1401.
(f) 1401 prints output.

Fortran Monitoring Systems

3rd Gen

Challenge : well-matched OS and


combinations of two-element:
Word-oriented :7094
Character oriented:1401

IBM invent System/360 that differ a price


in performance-based
SSI based (Small Scale integrations)
where consists of 2-99 transistors per IC.
Software compatible machine with OS/360

The invention of Multiprogramming and Spooling


SPOOL( Simultaneous Peripheral Operations On
Line)

Even if many innovations has done, basically its


still batch systems
Quick response time using Time-sharing

4th gen

Challenge : faster computer, small size,User


friendly OS
Development of LSI(Large Scale
Integration)
Hardware dominator is Intel 8080, Zilog,
Motorola 6800
Microsoft invent BASIC and DOS.
Apple Macintosh using GUI and birth of
UNIX.
Growth of NOS and Distributed OS.

Types of OS

Batch OS
The programs is arrange in sequent CPU will

wait(idle) until output is produced to proceed


another jobs

Multiprogramming
Program is run in sequence but CPU always do the

assembled job without waiting the output for


previous jobs

Distributed OS
The programs and files are located in all PC be

handled automatically and efficiently by the


operating system.

1.1.3 Various of OS
WINDOWS
LINUX
Mac
SUN

Windows

Linux

Free Open Source-OS


The user interface, also known as the shell, is either a
command-line interface (CLI), a graphical user interface
(GUI), or through controls attached to the associated
hardware, which is common for embedded systems. For
desktop systems, the default mode is usually a graphical
user interface, although the CLI is available through
terminal emulator windows or on a separate virtual console.

Linux distribution

Arch
CentOS
Debian
Fedora
Gentoo
Linux Mint
OpenSUSE
Red Hat
Slackware
Ubuntu

MAC

MAC OS ,specially design for Apple


computers

SUN (Oracle)

Sun Micro-systems renamed their Operating system Sun OS to Solaris in


1993. When Oracle Corporation acquired Sun Micro systems, it is named
as Oracle Solaris.
More into Server OS

Minimum requirement for


particulars OS
1.1.5

Minimum requirement of
Windows XP

Pentium 233-megahertz (MHz) processor or faster (300


MHz is recommended)
At least 64 megabytes (MB) of RAM (128 MB is
recommended)
At least 1.5 gigabytes (GB) of available space on the hard
disk
CD-ROM or DVD-ROM drive
Keyboard and a Microsoft Mouse or some other
compatible pointing device
Video adapter and monitor with Super VGA (800 x 600)or
higher resolution
Sound card
Speakers or headphones

Win 7(32 bit)

Processor 1GHZ
RAM 1 GB
Direct X 9.0 Graphic compatible
16GB HDD free space
Optical disk

Linux (Ubuntu 12.0)

The best thing of Linux is its doesnt


need a defragmentation of disks
Small footprint
Antivirus is not compulsory
Pentium 4 1Ghz
RAM of 64Mb, recommend 512Mb
HDD : 1GB

MAC OS X (ML)

OSX v10.6.8 or later


2GB of memory
8GB of available space
Some features require an Apple ID;
termsapply.
Some features require a compatible
Internet service provider; fees may
apply.

Solaris 11.0

Pentium 4 above
HDD 13 GB
RAM 1GB

Open source vs. closed


source
1.1.6

Open source

Freeware
The open programmer can rebuild
and redesign the software until
optimum performance and lack of
error
The Source Code of SW is given so
that programmer can learn how
the SW working
Distributed freely by any people

Closed source

Paid software/Shareware
The only SW programmer can rebuild
and redesign the software until
optimum performance and lack of error
no idea how it was made. Must accept
the software quality as it as.
Respond to correction quickly but need
a time to release a correction patches
Distributed closely by sole vendor

1.1.7 Shell Program

Shell

A shell is software that provides an


interface for users of an operating system
to access the services of a kernels.
The name shell originates from shells
being an outer layer of interface between
the user and the internals of the operating
system (the kernel).
In either category the primary purpose of
the shell is to invoke or "launch" another
program;

String
#!/bin/sh
clear ls -al

the shell script would start with its normal starting line of
#!/bin/sh.
the script executes the command clear which clears the
terminal of all text before going to the next line. The following
line provides the main function of the script.
The ls -al command list the files and directories that are in the
directory from which the script is being run. The ls command
attributes could be changed to reflect the needs of the user.

Windows Power Shell

Windows PowerShell ISE

Ubuntu GNOME Shell

It can launch over the terminal TAB

Network Operating
Systems
Novell Netware
Cisco IOS

an operating system that includes special


functions for connecting computers and
devices into a local-area network (LAN).
Some operating systems, such as UNIX
and the Mac OS, have networking
functions built in.
The term network operating system,
however, is generally reserved for
software that enhances a basic operating
system by adding networking features.

List Of NOS(p2p)

Peer to peer
Apple Share
Windows Workgroup

Advantages
Ease of setup
Less hardware needed, no server needs to be

purchased.

Disadvantages
No central location for storage.
Lack of security that a client/server type offers.

List of NOS (client-server)

Novell Netware,
Artisoft's LANtastic,
Microsoft Windows Server,
Windows
Apple Talk

List of NOS (client-server)

Advantages
Centralized servers are more stable.
Security is provided through the server.
New technology and hardware can be easily

integrated into the system.


Servers are able to be accessed remotely from
different locations and types of systems.

Disadvantages
Cost of buying and running a server are high.
Dependence on a central location for operation.
Requires regular maintenance and updates.

Cisco IOS

Originally called Cisco Internetwork OS


Special OS design by Cisco to configure
and maintaining Router and its
accessories

Terminology in OS

Cooperative multitasking

A type of multitasking in which the process


currently controlling the CPU must offer control to
other processes. It is called cooperative because
all programs must cooperate for it to work. If one
program does not cooperate, it can hog the CPU.
With cooperative scheduling and the singleprocessor kernel, substantially fewer reentrance
problems are encountered than in preemptive
scheduling, because tasks cannot be interrupted
arbitrarily by other tasks, but only at positions
permitted by the programmer

Preemptive multitasking

Preemptive multitasking forces


applications to share the CPU in
whatever condition
The main advantage of preemptive
scheduling is real-time response on the
task level. The task response time i.e., the time required to activate a task
waiting for an interrupt - largely
depends only on the interrupt latency

Notes

Versions 8.0-9.2.2 of Macintosh OS and Windows 3.x


operating systems are based on cooperative
multitasking, whereas UNIX, Windows 95,
Windows NT, OS/2, and later versions of Mac OS are
based on preemptive multitasking.

Multithreading

The ability of an operating system to


execute different parts of a program,
called threads, simultaneously. The
programmer must carefully design the
program in such a way that all the
threads can run at the same time
without interfering with each other.

Multithreading

Multi-threading is a widespread programming and execution


model that allows multiple threads to exist within the
context of a single process. These threads share the
process' resources, but are able to execute independently

You might also like