260 likes | 461 Views
제 17 강 : 운영체제의 실제. 운영체제의 실제. UNIX, Linux. UNIX, Linux. 여러 터미널을 지원하는 다중 사용자 (Multiuser) 따라서 자원을 아껴 쓰도록 설계되어 있으며 Protection 을 중요시 여기는 시스템이다 한 터미널에서 다중 태스킹 (multitasking) C 언어로 작성 - 이식성 (portability) 높은 OS 커널 (kernel) 과 유틸리티 (utility) 로 구성 커널 : 메모리에 항상 , 자원관리
E N D
제17강 : 운영체제의 실제 운영체제의 실제
UNIX, Linux • 여러 터미널을 지원하는 다중 사용자(Multiuser) • 따라서 자원을 아껴 쓰도록 설계되어 있으며 • Protection을 중요시 여기는 시스템이다 • 한 터미널에서 다중 태스킹(multitasking) • C 언어로 작성 - 이식성(portability) 높은 OS • 커널(kernel)과 유틸리티 (utility)로 구성 • 커널: 메모리에 항상, 자원관리 • 유틸리티: 사용자 도우미 디스크에 있다가 필요할 때마다 메모리로
광의/협의 OS 정의 응용프로그램 응용프로그램 사용자 문제 해결 프로그램 개발/실행 도우미 Shell Utility Programs loader 컴파일러 광의OS 협의OS Kernel 자원의 관리 하드웨어 CPU Memory OS = { 여러 프로그램들 } = {커널, shell, loader, cc, …}
Shell사용자 인터페이스 프로그램 • 사용자 명령을 받아 해석하고, • Child 프로그램을 생성 • 사용자와 시스템 간의 인터페이스 • 가장 중요한 유틸리티이다.
UNKIX/Linux Utility (Command) ① 파일 조작 명령 rm : 파일을 삭제한다. mv : 파일 이동시킨다. (즉 이름을 변경한다.) cp : 파일을 복사한다. cat : 여러 파일을 결합 (내용을 화면에). chmod : protection mode를 지정 ② 디렉토리 조작 명령 cd : 작업 디렉토리를 바꾼다. ls : 디렉토리의 내용을 보여준다. mkdir : 새로운 디렉토리를 생성한다. rmdir : 디렉토리를 제거한다. ③ 볼륨/장치 조작 명령 mount : 새로운 파일 시스템을 접목시킨다. fsck : 파일 시스템의 오류여부를 검사.
UNKIX/Linux Utility (Command) ① 파일 조작 명령 rm : 파일을 삭제한다. mv : 파일 이동시킨다. (즉 이름을 변경한다.) cp : 파일을 복사한다. cat : 여러 파일을 결합 (내용을 화면에). chmod : protection mode를 지정 ② 디렉토리 조작 명령 cd : 작업 디렉토리를 바꾼다. ls : 디렉토리의 내용을 보여준다. mkdir : 새로운 디렉토리를 생성한다. rmdir : 디렉토리를 제거한다. ③ 볼륨/장치 조작 명령 mount : 새로운 파일 시스템을 접목시킨다. fsck : 파일 시스템의 오류여부를 검사.
UNIX File ① “inode” - 파일의 meta-data ② 사용자를 (me, group, all)로 구분 각 file의 protection mode: rwx rwx rwx ③ 세 종류의 파일 (A) 일반파일 정의: “sequence of bytes". 내부구조가 필요하다면 다른 계층에서 제공해주어야. (B) 디렉토리 내용 -- (파일 이름, pointer)로 구성된다. pointer는 디스크 내 inode의 주소. (C) 특수(special) 파일 모든 하드웨어 장치를 파일로 취급 standard input file, standard output file
UNIX File System ① 부트 블록 : booting할 때 사용하는 코드 ② 슈퍼 블록 : 파일 시스템 전체에 대한 정보 free space에 대한 정보 ③ inode 블록 : metadata, 즉 inode 장소 ④ 데이터 블록 : 파일의 내용들을 보관하는 장소. Bootblock Superblock Inode list Data block
UNIX 파일 시스템 sizes Head pointers Superblock M, N, free inodes (1) Sector inodes free data blocks (M) Sectors Data blocks (N) Sectors
UNIX Process • fork(), exec() system call (앞 부분 참조) • CPU scheduling (Round-robin 참조) • 메모리 관리 (Paging, swapping 참조)
PIPE의 개념 4. Keybaord 입력처럼 전달 3. 버퍼로부터 2. 버퍼로 보냄 • 원래 스크린용 • 출력을 PA PB 버퍼 (PIPE) scanf() printf() ① 파이프 라인(Pipeline) UNIX 운영체제가 두 프로세스 사이에 할당해주는 임시 파일이다. 앞 프로세스의 표준출력이(원래는 screen output)이 버퍼로 들어간다 버퍼 내용이 뒤 프로세스의 표준입력(keyboard input)으로 공급된다 파이프 라인은 여러 개의 프로세스로 확장될 수 있다 ( PA | PB | PC…) ② 필터 두개의 파이프 사이에 위치한 프로세스이다. 단일 입력, 단일 출력을 처리하는 프로그램이다.
Multi-User Protection - Yes Resource –最大 節約 Text mode (CUI)* Portable Many CPU’s * CUI: Character User Interface * GUI: Graphical User Interface Single-User Protection - Little Resource –最大 使用 Window, GUI* Not Portable Only Intel PC DOS/Windows UNIX/Linux
User Interface (OS) CUI - Linux GUI - Windows $ _ man Command ps Command menu (Programs in disk) active processes (loaded into memory)
MS-DOS Windows 출현 이전 PC 운영체제 Microsoft(MS)가 개발 Disk에서 올라오는 운영체제이다(DOS). MS-DOS는 다음과 같은 일을 수행한다. ․시스템과의 통신 ․디스크 조작 ․파일 관리 ․입출력 관리 ․환경 설정 기타
MS-DOS 내부 명령어 DOS 부팅시 주기억 장치에 적재되는 명령 내부 명령어의 종류 DIR : 디렉토리 아래 파일 이름들을 화면에 보여준다. VER : 현재 사용 중인 MS-DOS의 버전을 알려준다. COPY : 파일을 복사한다. TYPE : TEXT 파일의 내용을 화면에 보여준다. REN : 파일의 이름을 바꾼다. DEL : 파일을 지운다. CD : 사용자가 작업하려는 디렉토리로 이동한다. MD : 새로운 디렉토리를 만든다. RD : 디렉토리를 지운다.
MS-DOS 외부 명령어 디스크에 있다가 명령이 호출될 때 메모리로 예: FORMAT : 디스크를 초기화. DISKCOPY : 디스크 전체를 복사. DISKCOMP : 두 개의 디스크 비교. ATTRIB : 파일의 속성을 바꾼다 기타.
[MS-DOS] [MS-DOS/Windows 공존] [Windows] Windows 1.0 Windows 95 일반 프로그램 Windows MS-DOS 일반 프로그램 일반 프로그램 응용 프로그램 MS-DOS Windows 흡수됨 Hardware Hardware Hardware (표기) 응용 프로그램 운영체제
Windows 용도별 분류 개인용(Windows 9 5/98) 기업용(Windows NT 3.1) 개인용과 기업용은 외형적으로는 유사함 그러나 내부구조가 상이했음 개인용: 과거 DOS 프로그램들과의 호환성을 중요시 기업용: 최초의 32 Bit 윈도우 고성능화 통합형(Windows XP)
PnP (Plug & Play) • ㅇ 과거 • device add/remove? • OS reboot 필요 • ㅇ Windows-95 부터 • 시스템 가동 중 device add/remove
OLE 기능(Object Linking & Embedding) Ctrl-V 버퍼 Ctrl-C 한 응용 프로그램의 정보를 다른 응용 프로그램에 응용 프로그램 간에 정보를 전송하고 공유하는 방법.
Rendering “A”의 bitmap Windows 프린터나 스크린에게 Bitmap을 보냄 (Not ASCII Code). (이 변환을 "rendering" 또는 “raster”작업이라고 부름.) (Window 이전에는 출력 하드웨어에서 rendering을 처리했음.) 장점:출력 하드웨어가 rendering 용 CPU를 안가져도 됨. rendering 용 font 파일을 안가져도 됨. 가격이 내려감. 상호 호환성이 향상됨.
그림-13 linux 커널의 모듈화 ... 메모리 On-demand module 1 module 1 Linux kernel module 2 module 3