LINUX System (English
Download
Report
Transcript LINUX System (English
LINUX System : Lecture 2
OS and UNIX summary
Bong-Soo Sohn
Assistant Professor
School of Computer Science and Engineering
Chung-Ang University
Acknowledgement : (i) wikipedia.org ,
(ii) http://www.doc.ic.ac.uk/~wjk/UnixIntro
Operating Systems
OS acts as an intermediary between user and HW
Resource Manager
Allocates and manages system resources (CPU, Memory, Disks,
Networks, … )
Efficient and fair use of the resources
Interface
OS allows users and application programs to access system
resources
Controls the execution of user programs accurately
Efficiently, Fairly, Safely(Accurately), Abstractly
Computer System Structure
HW – provides basic computing resources
CPU, memory, disk, …
OS Kernel
direct control of underlying HW
System call
Programming interface to the services provided by the
OS
The one program running at all times on the
computer is the kernel. Everything else is either a
system program (shipped with OS) or an application
program
Application programs
Define the ways in which the system resources are
used to solve user problems
executed thru shell/GUI.
Ex) word processor, video games, etc
Operating Systems
Functionality
Process Management
Memory Management
CPU scheduling : batch vs time-sharing
Memory allocation : determine what is in memory when?
Virtual memory : a technique that gives an application program the
impression that it has large contiguous working memory, while in fact it
is physically fragmented and may even overflow on to disk storage.
Disk and file system
Device driver : interface for communicating with HW devices
Networking : supports network protocols. (ex) TCP/IP
Security : authentication (login), authorization (file permission), …
UI : GUI (Graphical User Interface), CLI (Command Line Interface)
OS comes with application programs that provide an interface for
managing OS.
Storage Hierarchy
Register, Cache, Main memory, Secondary Storage (disks),
Magnetic tapes
Why hierarchical structure?
Speed
Cost
Volatility
Caching
Copying information into faster storage system.
Faster storage checked first to determine if information is
there
Cache<->main memory, main memory<->disk
Important principle, performed at many levels in computer
OS Structures
Multiprogramming
a technique used to utilize maximum CPU time by running multiple
programs simultanously
Single user cannot keep CPU and I/O devices busy at all times.
Multiprogramming organizes jobs (code and data) so CPU always has
one to execute
One job is selected and run via job scheduler
When a running job has to wait for I/O, OS switches to another job
Multitasking (time-sharing)
CPU switches jobs so frequently that users can interact with each job
while it is running.
Creates interactive computing
Response time can be controlled
If processes don’t fit in memory, swapping moves them in and out to
run
Operating Systems
MS Windows
Most popular on desktop computers
Gaining popularity in servers.
UNIX/LINUX
Most popular in server environments
LINUX are gaining popularity on desktop PC.
UNIX System
has been popular for more than two decades
Portability
Written mostly in C + a few in assembly
language
Kernel size is small
Multi-user, multi-tasking environment
Stability
Powerful networking capabilities
Free, open source code(LINUX)
Suitable for using as a server
UNIX History
Created by Ken Thompson et al. ( a researcher at AT&T Bell Lab)
UNICS(1969) (shortened to UNIX later) : first version
Released Fifth version of UNIX
kernel was rewritten in C, which was a big step forwards in terms of
system portability (1973)
LINUX
Developed by Linus Torvalds, a finnish undergrad student, in 1991
Free open source UNIX OS for PC
Open source code nature means any one can add features and correct
deficiencies.
Turned in to collaboration of hundreds of volunteer developers around
the world.
Several different distributions (e.g. Redhat, Debian, … etc)
Distribution comprises a prepackaged kernel, system utilities, GUI,
application programs
LINUX
Kernel
Shells / GUI : two forms of command input
Device driver support for various HW device
Advanced processor and memory management
Support different types of file system
Textual command line shells (e.g. C shell, … )
Graphical user interface (e.g. GNOME window manager)
System utilities
Virtually every UNIX system utilities were ported to LINUX
Include daemons
server program running as a background process
Application programs
Come with standard application programs
e.g. vi, emacs, xv, gcc/g++, xfig, latex, …