정보통신실습 및 특강 (5)
정보통신실습 및 특강 (5) 목차 2 HDD 구조 및 MBR 부팅과정 (booting) 운영체제의 역사 운영체제의 유형 운영체제 (Operating System) 란 무엇인가 ?
정보통신실습 및 특강 (5) 운영체제 (Operating System) 란 ? 사용자와 컴퓨터 사이에 인터페이스를 제공 컴퓨터 자원을 효율적으로 관리 ( 효율성 ) 컴퓨터 시스템을 편리하게 사용할 수 있게 함 ( 편의성 ) 운영체제의 구성요소 하드웨어 (H/W) 어플리케이션 사용자 (Users) 3
정보통신실습 및 특강 (5) 운영체제 (Operating System) 란 ? 운영체제의 구성요소 ( 계속 ) kernel( 커널 ) 운영체제의 핵심부분 프로세스관리, 메모리관리, I/O 시스템 관리, 파일시스템관리 등 shell( 쉘 ) 사용자와 운영체제의 내부 kernel 사이의 인터페이스 역할 ( 명령어 해석기 ) 4 H/W Kernel Shell Applications Users
정보통신실습 및 특강 (5) 운영체제 (Operating System) 란 ? 일괄처리시스템 (batch processing system) 유사한 작업들끼리 일정량 또는 일정시간 묶어서 처리 FORTRAN, COBOL, FORTRAN / FORTRAN, FORTRAN, COBOL 상주모니터 (resident monitor) 실행 대기 작업을 일정기간 모아 시스템 스스로 작업 순서를 정할 수 있도록 만든 자동작업 순서 방법 (Automatic job sequencing) 5 입력 출력 … … 입력 batch 출력 batch 시스템 (batch processing) 사용자영역 제어카드해석기 실행대기작업 loader 상주모니터상주모니터 작업제어카드 (Job control card)
정보통신실습 및 특강 (5) 운영체제의 유형 다중프로그래밍시스템 (Multi programming system) CPU 의 효율을 극대화 한번에 여러 프로그램을 메모리로 load 프로그램 1 이 사용하지 않는 시간에, 프로그램 2 가 CPU 를 사용 운영체제의 발전의 중심적인 역할 6 P1 P2 P1 P2 프로그램 1 프로그램 2 프로그램 1 프로그램 2 시간 CPU 유휴시간 작업 3 작업 2 작업 1 OS 다중프로그래밍시스템의 기억장치구성도
정보통신실습 및 특강 (5) 운영체제의 유형 시분할 시스템 (Time sharing system) 여러 사용자들에게 컴퓨터 자원을 시간을 분할하여 사용할 수 있게 함 각 사용자는 마치 자신만이 컴퓨터를 사용하고 있다고 착각하게 함. 컴퓨터를 대화식으로 사용하려는 시도에서 탄생 문제점 운영체제 복잡 ( 자원 제어에 대한 책임을 OS 에게 전가 ) 주기억장치 및 보조기억장치의 관리 스케줄링 프로세스간 통신 입출력장치의 사용 제어 관리 등 7
정보통신실습 및 특강 (5) 운영체제의 유형 실시간 시스템 (Real-Time system) 단말기의 요청을 즉시 처리하여 그 결과를 되돌려주는 시스템. 일반적으로 응답시간이 수 초 이내 응답시간 : 자료를 입력하여 결과가 출력되기까지의 시간 실시간 시스템의 종류 Hard real-time system 작업 (task) 을 정해진 시간에 반드시 완료할 수 있도록 한 시스템 원자력발전소에서의 원자로 온도제어 미사일방어체제에서의 미사일 요격 soft real-time system 작업을 정해진 시간을 넘기는 것을 어느 정도 허용하는 시스템 동영상 플레이어, 음악 재생기 8
정보통신실습 및 특강 (5) 운영체제의 유형 다중처리시스템 (Multi-processing System) 여러 개의 처리기가 하나의 메모리를 공유하여 사용하는 시스템 다중처리기 (mutiprocessor) - 2 개 이상의 프로세서 조합 다중처리 (mutiprocessing) - 다중처리기를 활용하여 병렬적으로 처리하는 것 일반적으로 하나의 운영체제가 모든 프로세서들을 제어 특징 속도향상 ( 프로세서를 여러 개 사용하여 여러 개의 작업을 동시에 수행 ) 높은 신뢰성 ( 처리기 중 일부에 문제가 발생하더라도 다른 처리기를 이용해 처리 ) 9 프로세서프로세서프로세서프로세서 기억장치
정보통신실습 및 특강 (5) 운영체제의 유형 분산 컴퓨팅 (Distributed computing) 인터넷에 연결된 여러 컴퓨터들의 처리 능력을 이용하여 거대한 계산 문 제를 해결하려는 분산처리 모델 유휴 개인용 컴퓨터의 프로세싱 자원을 활용 다양한 응용분야에서 프로젝트가 수행 중 ( 바이오 분야, 기상, 인공지능, 수학, 암호학 등 ) 1997 년에 RSA Data Security 사가 Distributed.net 프로젝트 DES 64 비트 암호 해독 ( 약 30 만 명의 이용자가 참여 ) for Extraterrestrial Intelligence) 프로젝트 외계 지적생명체 탐사 2002 년부터 코리아앳홈 프로젝트 가상의 대용량슈퍼컴퓨팅을 구현하는 것이 기본목표 ( 수십∼수백 만대의 유휴 PC) 10
정보통신실습 및 특강 (5) 운영체제의 역사 (Windows) 11 CP/MPC-DOS1.0 MS-DOS1.0 OS/2 1.0 MS-DOS4.0 Windows 1.01Windows 2.0 OS/2 2.0 Windows 3.1 MS-DOS6.0 Win NT 3.1 MS-DOS7.0 Windows 95 Win NT 3.5Win NT 4.0 MS-DOS7.1 Windows 98Windows 98se MS-DOS8.0 Windows Me Win 2000 Windows XP Windows 서버 2003 Windows Vista Windows 서버 2008 Windows
정보통신실습 및 특강 (5) 운영체제의 역사 (UNIX & Linux) 12 Version 7 UNIX Multics PDP-11/20 용 OS (UNIX) Version 6 UNIX UNIX 를 C 언어로 다시작성 BSD2BSD BSD/4.0BSD XENIX BSD UNIX System III 1982 SunOS1.0 UNIX System IV 1983 UNIX System V R SunOS MINIX SunOS2.0 Mach Version 8 UNIX 1986 Version 9 UNIX SunOS3.0 Mach2.0 UNIX System V R2 UNIX System V R3 HP-UX 4.2BSD SOC XENIX BSD HP-UX DEC PDP-7 용 OS 개발 (Unics) 2.8BSD2.9BSD XENIX MINIX SunOS3.5 Mach2.5 IRIXIRIX3.0IRIX IRIX5.0IRIX4.0IRIX6.5.30IRIX SunOS Solaris Solaris Solaris2.6Solaris7Solaris8Solaris10 Version 10 UNIX UNIX System V R4(SVR4)Unixware Unixware2.0Unixware Open Unix8 R8.0SCO Unixware7.13 HP-UX3.0HP-UX7.0HP-UX9.0HP-UX10HP-UX HP-UX11iHP-UX11iv BSD2.101BSD2.11BSD 4.4BSD Mach2.6Mach3 OSF/1OSF/1 3 Mach4uk02Mach4uk22Mach4 MINIX1.5MINIX2.0MINIX3.0 Linux0.01 Linux Linux1.0Linux2.0Linux2.4 Linux FreeBSD1.0 NetBSD OpenBSD
정보통신실습 및 특강 (5) 운영체제의 역사 (UNIX & Linux) 13 리누스 토발즈 (Linus Benedict Torvalds) - 앤드류 타넨바움 (Andrew S. Tanenbaum) 라는 교수가 운영체제 디자인을 가르치기 위해 만든 교육용 유닉스인 미닉스 (MINIX) 에서 아이디어를 얻어, - 독자적으로 리눅스를 개발 ( 탄넨바움은 미닉스를 다른 사람이 함부로 수정하지 못하 도록 제한 ) - 뉴스그룹 (comp.so.minix) 을 통해 리눅스를 개발하고 있음을 알림 ▪ 1991 년 9 월 : - 리눅스의 등장 : 0.01 버전 개발 ( 미공개 ) ▪ 1991 년 10 월 : 버전 : 뉴스그룹에 첫 공식적인 발표 - 10 명이 다운로드, 그 중 5 명이 버그를 수정 및 개선하여 보내옴 년 3 월 : 버전 (GUI 와 Intel x86 지원 ) - 리처드 스톨만과 FSF 는 리눅스를 GNU 커널로 채택 - 리눅스는 GNU C 컴파일러 (gcc) 로 컴파일한 응용프로그램 증가 ▪ 1994 년 : 버전 ( 네트워크 기능 추가 ) - 밥 영과 마크유잉의 레드헷사 설립
정보통신실습 및 특강 (5) 부팅과정 (booting) 14 메모리 (RAM) ROM-BIOS MBR 부트섹터부트섹터 리눅스리눅스 커널이미지커널이미지 1. BIOS 코드 로드 2. 부트로더 3. 부트코드 로드 4. 커널 이미지 로드 부트섹터부트섹터 Windows
정보통신실습 및 특강 (5) 부팅과정 (booting) 15 Power ON ▪ 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 이미지 로드 ( 파티션테이블 참조하여 ) ROM-BIOS 프로그램 실행 부트로더 실행 OS 로드 및 실행
정보통신실습 및 특강 (5) HDD 구조 16
정보통신실습 및 특강 (5) HDD 구조 17
정보통신실습 및 특강 (5) HDD 구조 파티션 물리적인 HDD 를 여러 개의 논리적인 영역으로 나눈 것. 하나의 HDD 를 마치 여러 개의 HDD 가 있는 것처럼 나누어 사용하는 것 파티션의 종류 주 파티션 (primary partition) 기본적인 파티션 부팅 가능한 파티션 주 파티션이 여러 개인 경우, 그 중 1 개만 부팅이 가능한 파티션이 됨. 최대 4 개 까지 가능 18
정보통신실습 및 특강 (5) HDD 구조 확장 파티션 (extended Partition) 직접 사용할 수 있는 파티션이 아님 ( 사용 가능한 논리 파티션을 담는 그릇역할 ) 한 디스크에 1 개만 만들 수 있음 주 파티션 + 확장 파티션 = 최대 4 개 ( 주 3+ 확 1) swap 파티션 가상메모리 (Virtual Memory) 하드디스크의 일부를 마치 메모리인 것처럼 사용. 19
정보통신실습 및 특강 (5) MBR Data Structure MBR(Master Boot Record) 하드디스크의 첫번째 섹터 (512Bytes) 부트코드 + 파트션테이블 + signature 20 ■ Boot Code ◦ 446 bytes ( 0 ~ 445 : 0x0 ~ 0x1BD ) ■ Partition Table Entry ◦ 첫 번째 partition - 16bytes (446 ~ 461 : 1BE ~ 1CD) ◦ 두 번째 partition - 16bytes (462 ~ 477 : 1CE ~ 1DD) ◦ 세 번째 partition - 16bytes (478 ~ 493 : 1DE ~ 1ED) ◦ 네 번째 partition - 16bytes (494 ~ 509 : 1EE ~ 1FD) ■ Signature value ◦ 2bytes ( 510 ~ 511 : 1FE ~ 1FF ) ◦ 0xAA0x55
정보통신실습 및 특강 (5) MBR Data Structure 파티션테이블 21 ① 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 )) : 0xAA0x F 3F FD 3F C1 40 1F 00