LINUX System (English

Download Report

Transcript LINUX System (English

리눅스: Lecture 2
운영체제 및 UNIX 요약
중앙대학교 컴퓨터공학부
손 봉 수 교수
Operating Systems

OS 는 사용자와 HW간의 중간 매개체 역할을 한다.

자원 관리자 (Resource Manager)
 시스템 자원(CPU, Memory, Disks, Networks)을 할당하고 관리함.
 자원의 효율적이고 공정한 사용을 목표로 함.

인터페이스(Interface)
 OS 는 사용자와 응용프로그램이 시스템 자원에 접근하고 사용할수
있도록 함.
 사용자 프로그램의 실행을 제어함.

효율성, 공정성, 정확성, 추상성(abstract) 지향
Computer System Structure

HW – 기본적인 computing resources 제공


CPU, memory, disk, …
OS 커널 (Kernel)


HW를 직접 제어
System call



시스템 자원에 대하여 OS에 의해 제공되는 서비스가 일종의
함수 형태로 되어있는 programming interface
커널은 전원이 켜져있는 컴퓨터에서 항상 실행되고 있다.
다른 프로그램은 OS와 함께 제공되는 시스템 프로그램
(system program) 이거나 응용 프로그램(application
program)이다.
응용 프로그램 (Application programs)



시스템 자원이 사용자의 문제를 해결하는데 사용되는 방
식을 정의함.
쉘 또는 GUI를 통해 실행됨
Ex) 워드프로세서, 컴퓨터 게임 등
Operating Systems

운영체제의 기능

프로세스 관리(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)
저장 장치의 계층
(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
멀티프로그래밍, 시분할

멀티프로그래밍(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
시분할 (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

Ken Thompson et al. (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, …