운영체제의 유형

Download Report

Transcript 운영체제의 유형

정보통신실습 및 특강(5)
[email protected]
http://cherub.sungkyul.edu/~web
2009.04
1
목차
운영체제(Operating System)란 무엇인가?
운영체제의 유형
운영체제의 역사
부팅과정(booting)
HDD구조 및 MBR
정보통신실습 및 특강(5)
2
운영체제(Operating System)란?

운영체제(Operating System)란?




사용자와 컴퓨터 사이에 인터페이스를 제공
컴퓨터 자원을 효율적으로 관리 (효율성)
컴퓨터 시스템을 편리하게 사용할 수 있게 함 (편의성)
운영체제의 구성요소
하드웨어(H/W)
 어플리케이션
 사용자(Users)

정보통신실습 및 특강(5)
3
운영체제(Operating System)란?

운영체제의 구성요소(계속)

kernel(커널)



운영체제의 핵심부분
프로세스관리, 메모리관리, I/O 시스템 관리, 파일시스템관리 등
shell(쉘)

사용자와 운영체제의 내부 kernel 사이의 인터페이스 역할 (명령어
해석기)
Users
Applications
Shell
Kernel
H/W
정보통신실습 및 특강(5)
4
운영체제(Operating System)란?

일괄처리시스템 (batch processing system)

유사한 작업들끼리 일정량 또는 일정시간 묶어서 처리

FORTRAN, COBOL, FORTRAN / FORTRAN, FORTRAN, COBOL
입력batch
입력
…
시스템
출력batch
입력
출력
…
출력
(batch processing)

상주모니터(resident monitor)

실행 대기 작업을 일정기간 모아 시스템 스스로 작업 순서를
정할 수 있도록 만든 자동작업 순서 방법
상
(Automatic job sequencing)
주
모
니
터
loader
실행대기작업
제어카드해석기
사용자영역
정보통신실습 및 특강(5)
5
작업제어카드
(Job control card)
운영체제의 유형

다중프로그래밍시스템(Multi programming system)

CPU의 효율을 극대화



한번에 여러 프로그램을 메모리로 load
프로그램1 이 사용하지 않는 시간에, 프로그램2가 CPU를 사용
운영체제의 발전의 중심적인 역할
프로그램1
프로그램2
P1
P1
P1
P2
P2
다중프로그래밍시스템의 기억장치구성도
P2
시간
CPU유휴시간
OS
작업1
프로그램1
작업2
프로그램2
작업3
P1
P2
P1
P2
P1
P2
시간
정보통신실습 및 특강(5)
6
운영체제의 유형

시분할 시스템 (Time sharing system)




여러 사용자들에게 컴퓨터 자원을 시간을 분할하여 사용할 수 있게 함
각 사용자는 마치 자신만이 컴퓨터를 사용하고 있다고 착각하게 함.
컴퓨터를 대화식으로 사용하려는 시도에서 탄생
문제점





정보통신실습 및 특강(5)
운영체제 복잡(자원 제어에 대한 책임을 OS에게 전가)
주기억장치 및 보조기억장치의 관리
스케줄링
프로세스간 통신
입출력장치의 사용 제어 관리 등
7
운영체제의 유형

실시간 시스템(Real-Time system)


단말기의 요청을 즉시 처리하여 그 결과를 되돌려주는 시스템.
일반적으로 응답시간이 수 초 이내


응답시간 : 자료를 입력하여 결과가 출력되기까지의 시간
실시간 시스템의 종류

Hard real-time system


soft real-time system

정보통신실습 및 특강(5)
작업(task)을 정해진 시간에 반드시 완료할 수 있도록 한 시스템
 원자력발전소에서의 원자로 온도제어
 미사일방어체제에서의 미사일 요격
작업을 정해진 시간을 넘기는 것을 어느 정도 허용하는 시스템
 동영상 플레이어, 음악 재생기
8
운영체제의 유형

다중처리시스템(Multi-processing System)

여러 개의 처리기가 하나의 메모리를 공유하여 사용하는 시스템




다중처리기(mutiprocessor) - 2개 이상의 프로세서 조합
다중처리(mutiprocessing) - 다중처리기를 활용하여 병렬적으로 처리하는 것
일반적으로 하나의 운영체제가 모든 프로세서들을 제어
특징


속도향상 (프로세서를 여러 개 사용하여 여러 개의 작업을 동시에 수행)
높은 신뢰성 (처리기 중 일부에 문제가 발생하더라도 다른 처리기를 이용해 처리)
프로세서
프로세서
프로세서
기억장치
정보통신실습 및 특강(5)
9
프로세서
운영체제의 유형

분산 컴퓨팅(Distributed computing)



인터넷에 연결된 여러 컴퓨터들의 처리 능력을 이용하여 거대한 계산
문제를 해결하려는 분산처리 모델
유휴 개인용 컴퓨터의 프로세싱 자원을 활용
다양한 응용분야에서 프로젝트가 수행 중 (바이오 분야, 기상, 인공지능, 수학, 암호학 등)



정보통신실습 및 특강(5)
1997년에 RSA Data Security사가 Distributed.net 프로젝트
 DES 64 비트 암호 해독(약 30만 명의 이용자가 참여)
SETI@Home(Search for Extraterrestrial Intelligence)프로젝트
 외계 지적생명체 탐사
2002년부터 코리아앳홈 프로젝트
 가상의 대용량슈퍼컴퓨팅을 구현하는 것이 기본목표 (수십∼수백 만대
의 유휴 PC)
10
운영체제의 역사(Windows)
1981
CP/M
1982
1985
1987
PC-DOS1.0
1992
OS/2 1.0
MS-DOS1.0
1995
MS-DOS6.0
MS-DOS7.0
Windows 2.0
Windows 3.1
Windows 95
Win NT 3.1
1998
1999
MS-DOS7.1
Windows 98
2000
2001
2003
2007
Win NT 3.5
Win NT 4.0
2008
2010
MS-DOS8.0
Windows 98se
Windows Me
Windows XP
Windows Vista
Win 2000
정보통신실습 및 특강(5)
1996
OS/2 2.0
MS-DOS4.0
Windows 1.01
1993
Windows 서버2003
11
Windows 7.0
Windows 서버2008
운영체제의 역사(UNIX & Linux)
1960
1
1969
Multics
1970
1971
1975
PDP-11/20용 OS
(UNIX)
DEC PDP-7용 OS 개발
(Unics)
1977
Version 6 UNIX
1979
1980
1981
1982
1983
1984
Version 7 UNIX
Version 8 UNIX
SunOS1.0
2
UNIX를 C언어로 다시작성
3
1985
UNIX System III
4
SunOS1.1
UNIX System IV
XENIX
5
1BSD
UNIX System V R1
UNIX System V R2
SOC XENIX3.0
XENIX3.0
2BSD
2.8BSD
SunOS2.0
2.9BSD
6
Mach
7
3BSD/4.0BSD
4.2BSD
4.1BSD
8
MINIX
9
HP-UX
1986
1987
1
Version 9 UNIX
2
SunOS3.0
3
UNIX System V R3
4
1988
SunOS3.5
IRIX
5
Mach2.0
7
4.3BSD
1990
1991
SunOS4.0
Solaris1
1992
1993
1994
1995
1997
Solaris2.0
UNIX System V R4(SVR4)
IRIX2.0
IRIX4.0
2.101BSD
Mach2.5
Solaris2.6
Unixware1
IRIX3.0
2.10BSD
6
1989
1998
1999
2000
2001
2002
2003 2004
2005
2006
Version 10 UNIX
Unixware2.0
IRIX5.0
Solaris7
Unixware7
Solaris8
Solaris10
Open Unix8 R8.0
SCO Unixware7.13
IRIX6.0
IRIX6.5.30
2.11BSD
Mach2.6
Mach3
Mach4uk02
OSF/1
Mach4uk22
Mach4
OSF/1 3
4.4BSD
FreeBSD1.0
NetBSD
OpenBSD
MINIX1.0
8
MINIX1.5
9
HP-UX1.0
정보통신실습 및 특강(5)
HP-UX3.0
HP-UX7.0
MINIX2.0
Linux0.99.11
Linux0.01
HP-UX9.0
Linux1.0
Linux2.0
HP-UX10
12
MINIX3.0
Linux2.4
HP-UX11
HP-UX11i
Linux2.4
Linux2.6.26
HP-UX11iv2
운영체제의 역사(UNIX & Linux)
리누스 토발즈(Linus Benedict Torvalds)
- 앤드류 타넨바움 (Andrew S. Tanenbaum)라는 교수가 운영체제 디자인을 가르치기
위해 만든 교육용 유닉스인 미닉스(MINIX)에서 아이디어를 얻어,
- 독자적으로 리눅스를 개발 (탄넨바움은 미닉스를 다른 사람이 함부로 수정하지 못하 도록 제한)
- 뉴스그룹(comp.so.minix)을 통해 리눅스를 개발하고 있음을 알림
▪ 1991년 9월 :
- 리눅스의 등장 : 0.01버전 개발 (미공개)
▪ 1991년 10월 :
- 0.02버전 : 뉴스그룹에 첫 공식적인 발표
- 10명이 다운로드, 그 중 5명이 버그를 수정 및 개선하여 보내옴.
1992년 3월 :
- 0.95 버전 (GUI와 Intel x86 지원)
- 리처드 스톨만과 FSF는 리눅스를 GNU 커널로 채택
- 리눅스는 GNU C 컴파일러(gcc)로 컴파일한 응용프로그램 증가
▪ 1994년 :
- 1.0 버전 (네트워크 기능 추가)
- 밥 영과 마크유잉의 레드헷사 설립
정보통신실습 및 특강(5)
13
부팅과정(booting)
1. BIOS 코드 로드
ROM-BIOS
2. 부트로더
메모리(RAM)
3. 부트코드 로드
4. 커널 이미지 로드
M
B
R
정보통신실습 및 특강(5)
부
트
섹
터
커
널
이
미
지
Windows
14
부
트
섹
터
리
눅
스
부팅과정(booting)
Power ON
ROM-BIOS 프로그램 실행
▪ BIOS (Basic Input/Output System) : 메모리의 특정 번지로 자동 로드 되어 실행 됨.
▪ POST(Power On Self Test) 수행
- 서버에 장착된 H/W가 인식됨.
(시리얼장치, 패러럴장치, PS/2 마우스장치, 사운드장치, IDE장치, 플로피드라이브, SCSI장치, 이더넷 카드 등 .)
- H/W의 물리적인 손상체크와 초기화가 병행됨.
(CMOS내용 검사, CPU, Memory, 그래픽카드, 키보드, 마우스, 기타 각종 H/W의 이상유무진단, H/W초기화 수행)
▪ 부팅매체(DISK, CD-ROM, Floppy 등) 검색
▪ MBR(Master Boot Record)를 읽어,
▪ 부트로더를 로드시킴
부트로더 실행
▪ 부팅메뉴 선택
▪ kernel 이미지 로드(파티션테이블 참조하여)
OS 로드 및 실행
정보통신실습 및 특강(5)
15
HDD구조
정보통신실습 및 특강(5)
16
HDD구조
정보통신실습 및 특강(5)
17
HDD구조

파티션



물리적인 HDD를 여러 개의 논리적인 영역으로 나눈 것.
하나의 HDD를 마치 여러 개의 HDD가 있는 것처럼 나누어 사용하는 것
파티션의 종류

주 파티션(primary partition)




정보통신실습 및 특강(5)
기본적인 파티션
부팅 가능한 파티션
주 파티션이 여러 개인 경우, 그 중 1개만 부팅이 가능한 파티션이 됨.
최대 4개 까지 가능
18
HDD구조

확장 파티션 (extended Partition)




직접 사용할 수 있는 파티션이 아님 (사용 가능한 논리 파티션을 담는 그릇역할)
한 디스크에 1개만 만들 수 있음
주 파티션 + 확장 파티션 = 최대 4개(주3+확1)
swap파티션

가상메모리(Virtual Memory)

정보통신실습 및 특강(5)
하드디스크의 일부를 마치 메모리인 것처럼 사용.
19
MBR Data Structure

MBR(Master Boot Record)


하드디스크의 첫번째 섹터(512Bytes)
부트코드 + 파트션테이블 + signature
■ Boot Code
◦ 446 bytes ( 0 ~ 445 : 0x0 ~ 0x1BD )
■ Partition Table Entry
◦
◦
◦
◦
첫
두
세
네
번째
번째
번째
번째
partition
partition
partition
partition
-
16bytes
16bytes
16bytes
16bytes
(446
(462
(478
(494
~
~
~
~
■ Signature value
◦ 2bytes ( 510 ~ 511 : 1FE ~ 1FF )
◦ 0xAA0x55
정보통신실습 및 특강(5)
20
461
477
493
509
:
:
:
:
1BE ~ 1CD)
1CE ~ 1DD)
1DE ~ 1ED)
1EE ~ 1FD)
MBR Data Structure

파티션테이블
80 01 01 00 06 7F 3F FD 3F 00 00 00 C1 40 1F 00
① Bootable Flag (1Byte)
◦ 부팅 파티션 식별 정보 (어느 파티션으로 부팅할 것인지를 표시함)
◦ 0x80 : 부팅 파티션(active partition)
◦ 0x00 : 부팅에 사용되지 않는 파티션
◦ 4개의 파티션 중 1개의 파티션에만 0x80을 사용할 수 있다.
② Starting CHS Address (3 bytes)
③ Partition Type(1 byte) : 파일 시스템 타입을 식별(0x06 )
④ Ending CHS Address (3 bytes)
⑤ Starting LBA Address (starting sector)
⑥ Size in Sectors (파티션의 섹터의 개수: 4 bytes)
■ Signature value (2bytes ( 510 ~ 511 : 1FE ~ 1FF )) : 0xAA0x55
정보통신실습 및 특강(5)
21