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