CompanyLogo
@
Unix & Linux 개요
2010년 2학기 컴퓨터의 개념 및 실습(http://dcom10.ez.ro/)
서울대학교 통계학과
Thanks to: cancho & facewhite from SPARC/KAIST, Bruce La Plante from University of Wisconsin, http://linuxvm.org, and Wikipedia
운영체제 (Operating System)
n 운영체제란하드웨어와소프트웨어간의소통을도와주는 Interface
n 하드웨어의상세한작동을조절함으로써유저의편의를도모한다.
n Multi tasking? Multi User?n CUI?GUI?
현대OS의필수요소
n Multi-usern 하나의컴퓨터를여러사용자가동시에사용가능(시분할 time
sharing 기법)
n Multi-taskingn 동시에여러개의작업(task)수행가능n Foreground taskn Background task: 창이나별도의사용자인터페이스가없이백그라운드에서실행되는프로그램 (예: 프린터스풀러, 스파이웨어)
4
User Interface
ž CUI (Character User Interface)— 문자로모든실행과동작을표현— MS-DOS — 유닉스/리눅스의각종쉘
ž GUI (Graphical User Interface)— 그림으로된요소로기능과용도를나타냄…— 그래픽을직접조작함으로써실행및동작가능— Mac OS X, Windows, Linux 등…— 마우스사용!
Introduction to UNIX Systems
5
UNIX
n C 언어로프로그램된 OSn 호환성이매우뛰어남(Portability)ž 1969년AT&T Bell 연구소에서개발
ž 다양한 branch— BSD (UC Berkeley – FreeBSD, OpenBSD, Mac OS X - Apple)— 상용 UNIX (SunOS/Solaris, AIX - IBM)— Linux
n UNIX의구성n 커널(Kernel, 파일시스템포함) n 쉘(Shell) (Command-Line Interface)
7
리눅스(Linux)는?
ž 리누스토발즈(Linus Torvalds)가만든 Unix 클론
ž 소스가 “완전공개된자유로운” 운영체제“open source”
ž Linux는전세계개발자들이자발적으로참여하고만들어가는운영체제
ž 현재도활발하게개발되고있다.ž 리눅스개발자인 Linus Torvalds가현재리눅스커널개발프로젝트의프로젝트관리자(coordinator)역할을수행
10
리눅스는? (기술적 측면)
n 32/64-Bit 유사 유닉스 운영체제
n 다양한 기본 유틸리티 (sed, awk, grep, …)
n 컴파일러 (C, C++, Fortran, Smalltalk, Ada, …)
n 네트워크 유틸리티 (telnet, ftp, ping, traceroute , …)n Multi-user, Multitasking, Multiprocessorn X Window 기반의 GUI 를 갖춤
n 다양한 플랫폼에서 실행 가능
n 공짜 프로그램 + 소스 코드가 공개되어 있음
n OSS (open-source software)n GPL 라이선스 (general public license)
리눅스의 역사
n Linus Torvalds 가 최초 개발
n 세계 각지의 프로그래머와 협력
n 인터넷 상에 1991년에 최초 공개
n 리눅스 커널의 발전
n Linux 1.0 (1994), 2.2 (1999)n 현재 Kernel 버전: 2.6.36 (2010-10-20, 1350만 줄의 코드)
n 오늘날 1천만 대 이상의 컴퓨터에서 동작
n 수천의 프로그래머가 리눅스 커널 개발에 참여
리눅스배포판
n 리눅스커널, GNU 소프트웨어및여러가지자유소프트웨어로구성된운영체제
n 현재전세계적으로 300여가지의배포판존재
n 대표적배포판
n 레드햇(redhat), 우분투(Ubuntu), 수세(Suse)n 데비안(Debian), 젠투(Gentoo)
14
Shell & Kernel
n 커널은시스템리소스와 OS의프로그램간의상호작용을도와주는 OS의핵심구성요소.
n 쉘(Shell): Linux/Unix System에서사용하는대화형 Interfacen 사용자와 kernel 사이의인터페이스n 사용자로부터명령을읽어실행하는프로그램
n 사용자의입력을해석하여 kernel에전달n 종류 : bash, tcsh, ksh, …
프로세스 (Process)
17
윈도우의 프로세스(Ctrl + Alt + Delete)
n Process (Thread of execution abstraction)n 독립적인실행의단위n 우리가실행하는중인프로그램각각이하나의프로세스..
리눅스의 프로세스(top)
파일시스템(File System)
n 컴퓨터파일들을저장하고체계적으로관리하는방법.n 파일이름으로파일들을관리한다.n Metadata(data(파일)에관한 data)를이용하여파일의정보를기록한다.
n 디렉토리들로파일을계층적으로나누어분류한다.n 종류: NTFS, FAT,EXT,HFS,...
Unix File System
n Filesystem (Windows vs UNIX)
n Windows: C:\, D:\라는 partition 구분(물론 A,E,G등도 가능)
19
C:/ D:/
For example) c:\documents and settings\MYID\내문서\HaHaHa.txt
Unix File System
n Unix: root(/) 에서 갈라진 여러 directory..
각각의 directory에 partition을 연결(link, mount) 할 수 있다.
20
//
binbin devdev usrusr etcetc …… homehome
For example) /home/MYID/hahaha.txt
Unix File System
n Storage abstraction
n 계층적 구조: 하나의 단일 file구조(root directory)에서 뻗어나감.
n Login시 위치 → 사용자의 HOME directory
n 각 파일이나 디렉토리 에는 사용자의 권한에 따른permission 존재
21
ž File permission (허용범위)— 시스템의각파일은특정사용자가소유하며파일의퍼미션을설정한다.
— User/ group/ other— Read/ Write/ Execute
— Root는모든권한을가질수있다.
Unix File System
R W X R W X R W X
22
User Group Other
Top Related