Unix & Linux 개요 - Welcome to SNU Biointelligence Lab!!bhkim/lectures/digi_com_10f_snu/0… ·...

24
@ 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

Transcript of Unix & Linux 개요 - Welcome to SNU Biointelligence Lab!!bhkim/lectures/digi_com_10f_snu/0… ·...

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

목차

n 운영체제개요

n UNIX 개요n LINUX 개요n Unix 및 Linux의주요구성요소

n 커널 + 쉘n 파일시스템(file system)

2

운영체제 (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 및유사UNIX 시스템의스크린샷

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

유닉스및유사시스템의진화

8

Why Unix?

9

리눅스(Linux)는?

ž 리누스토발즈(Linus Torvalds)가만든 Unix 클론

ž 소스가 “완전공개된자유로운” 운영체제“open source”

ž Linux는전세계개발자들이자발적으로참여하고만들어가는운영체제

ž 현재도활발하게개발되고있다.ž 리눅스개발자인 Linus Torvalds가현재리눅스커널개발프로젝트의프로젝트관리자(coordinator)역할을수행

10

Linux & Linus Torvalds

11

Tux

리눅스는? (기술적 측면)

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, …

리눅스커널의구성

16

프로세스 (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

23

PermissionUser/group/other

g byteu

Mount System in UNIX

n Mount란 File System을 OS에서이용가능하게하는과정.n Windows에서는보통드라이브(c: d: e:)에마운트시킨다.n Linux에서는 /dev 디렉토리에모든장치들을마운트한다.