Ch01_ 운영체제소개 운영체제론
학습목표 ü 01_ 소개 ü 02_ 운영체제란무엇인가 ü 03_ 초기역사 : 1940, 1950년대 ü 04_1960년대 ü 05_1970년대 ü 06_1980년대 ü 07_ 인터넷과월드와이드웹의역사 ü 08_1990년대 ü 09_2000년이후 ü 10_ 응용프로그램기반 ü 11_ 운영체제환경 ü 12_ 운영체제의구성요소와목표 ü 13_ 운영체제아키텍처 2/23
01_ 소개 수십년동안빠르게진화해온컴퓨터분야 사용자워크스테이션 BIPS(Billions of Instructions per second) 의처리속도 일상생활의모든영역에컴퓨터사용 운영체제의역할과책임변화 ü 문서, 게임, 음악, 비디오, 자산관리 ü 노트북, PDA, 휴대폰, MP3 이책에서다룰내용 운영체제의원리 운영체제의구조와책임 운영체제설계시고려사항 분산컴퓨팅과관련하여운영체제설계이슈 3/23
02_ 운영체제란무엇인가 1960 년대운영체제는하드웨어를제어하기위한소프트웨어 응용프로그램이하드웨어와상호작용할수있는해주는소프트웨어 주어진입력에맞는결과를보장하도록소프트웨어와하드웨어조작 운영체제는기본적으로자원관리자 하드웨어 ü 프로세서 ü 메모리 ü 입출력장치 ü 통신장치 소프트웨어 4/23
03_ 초기역사 : 1940, 1950 년대 o 뚜렷한변화를보이며발전한운영체제 1940 년대 초기디지털컴퓨터는운영체제를포함하지않음 1950 년대 한번에한가지작업만수행 사용효율을향상시키기위해작업사이의이동을원활하게하는기술사용 단일스트림배치처리시스템 (single-stream batch-processing system) 시스템자원을직접제어 5/23
04_1960 년대 o 배치처리시스템 o 멀티프로그래밍 자원공유 운영체제는여러작업을동시에처리하는방향으로발전 o 1964 년 IBM System/360 발표 o 대화식사용자 (interactive user) o 시분할시스템 대화식컴퓨팅지원, 프로그램과데이터공유 MIT의 CTSS(compatible Time-sharing System) IBM의 TSS(time sharing System) CTSS, CP/CMS(control program/conversational System) 멀틱스 (multics) 6/23
05_1970 년대 o 멀티모드멀티프로그래밍시스템 배치처리와시분할, 실시간응용프로그램지원 1970 년후반에는개인컴퓨터혁명시작 o TCP/IP 통신표준활성화 이더넷의등장으로근거리통신망환경발전 보안문제등장 암호작성 / 해독기술주목 o 운영체제가네트워크와보안을아우르는수준으로발전 상업적요구충족할만큼개선 7/23
06_1980 년대 o 개인용컴퓨터와워크스테이션의시대 소형컴퓨터중앙처리장치인마이크로프로세스기술발전 소프트웨어의발전 스프레드시트, 워드프로세서, 데이터베이스, 그래픽패키지 그래픽사용자인터페이스 (graphical user interface) 등장 o 네트워크기술의발전 컴퓨터간정보전송경제적이고현실적수준의전환 클라이언트 / 서버컴퓨팅모델의널리보급 분산컴퓨팅환경제공 o 소프트웨어공학분야의발전 8/23
07_ 인터넷과월드와이드웹의역사 o ARPA(Advanced Research Project Agency) ARPAnet 구현 오늘날인터넷의시조 빠르고쉬운통신능력 중앙집중적인통제없이작동 ü 네트워크의일부가고장나도남은부분은다른경로로전송 TCP/IP 프로토콜 ü 오류없는전송보장 상업용목적으로활용 ü 대역폭증가 ü 하드웨어와통신비용감소 World Wide Web(WWW) 사용자는모든주제에대해멀티미디어기반문서조회 1989 년 CERN 에서하이퍼링크기반문서공유방법개발시작 9/23
08_1990 년대 o 1990 년대특성 하드웨어성능의기하급수적발전 프로세싱파월과저장공간의증가 월드와이드웹의탄생으로분산컴퓨팅의증가 개인컴퓨터간에도분산컴퓨팅이일반적인일 자원의사용확대및효율향상 네트워크속도가컴퓨터의처리속도에미치지못한한계 Microsoft 의성장 Windows 운영체제 사용자친화적인터페이스제공 데스크탑운영체제잠식 기업용운영체제 Window NT 출시 객체기술 객체지향프로그램의등장은컴포넌트의재사용가능하게하여개발시간단축 객체지향운영체제의등장으로기존운영체제보다유지보수와확장이용이 오픈소스운동 오픈소스소프트웨어를지향하는운동 ü 리눅스, 아파치등 10/23
09_2000 년이후 o 미들웨어 네트워크를통해독립적인응용프로그램을서로연결하는소프트웨어 o 웹서비스 분산컴퓨팅으로전환촉진 o 멀티프로세스와네트워크아키텍처 새로운하드웨어와소프트웨어설계기술개발기회제공 o 고도병렬성 (massive parallelism) 프로세서를다수보유해여러독립적인계산으로병렬로수행 o 운영체제인터페이스표준화 다양한프로그램지원하고사용용이 Windows xp 운영체제의전문가와사용자집단흡수 MS 차세대운영체제롱혼 (longhorn) 에서는다른유형파일포맷통합계획 11/23
10_ 응용프로그램기반 o IBM 개인용컴퓨터는거대한소프트웨어산업을활성화 ISV(independent software vendors) DOS 에서동작하는 IBM PC 용응용발표 o 응용프로그램기반 운영체제는응용소프트웨어개발자들의메모리관리입출력회선관리부담해소 API 제공으로하드웨어조작을간단히해결 응용프로그램개발자는특정루틴만을호출 12/23
11_ 운영체제환경 o 범용컴퓨터 대용량메모리와디스크, 고속프로세서, 주변장치로구성 개인용컴퓨터나웨크스테이션으로사용 고성능하드웨어를갖춘고사양웹서버와데이터베이스서버에적용가능 대용량메모리와특수목적하드웨어, 여러프로세스를지원 o 임베디드시스템 휴대폰, PDA 같은소형기기에기능을제공하는특화된소규모자원 효율적인자원관리요구 적은코드로서비스제공 전력관리 사용자친화적인터페이스제공 o 실시간시스템 정해진시간안에특정작업완료 소프트실시간시스템 하드실시간시스템 13/23
11_ 운영체제환경 o 가상머신 컴퓨터를소프트웨어로추상화 가상머신운영체제 가상머신에의해서제공되는자원관리 가상머신의응용프로그램 여러운영체제의인스턴스를동시에실행가능하도록허용 에뮬레이션 ü 시스템에존재하지않는하드웨어나소프트웨어가능흉내 여러사용자가하드웨어공유 소프트웨어이식성향상 자바가상머신 JVM VMware 14/23
11_ 운영체제환경 15/23
12_ 운영체제의구성요소와목표 o 운영체제의핵심구성요소 프로세스스케줄러 메모리관리자 입출력관리자 프로세스간통신관리자 파일시스템관리자 o 운영체제의목표 효율성 (efficiency) 견고함 (robustness) 규모확장성 (scalability) 확장성 (extensibility) 이식성 (portability) 보안 (security) 상호작용성 (interactivity) 사용성 (usability) 16/23
13_ 운영체제아키텍처 o 현대운영체제는복잡 다양한서비스제공 다양한하드웨어와소프트웨어지원 운영체제의구성요소의실행권한을지정하여복잡성해결 모놀리식커널 마이크로커널 17/23
13_ 운영체제아키텍처 o 모놀리식아키텍처 모든컴포넌트커널에포함 호출기능만으로다른구성요소와통신가능 컴퓨터시스템에제한없이접근 높은성능 오류나악성코드에취약 18/23
13_ 운영체제아키텍처 o 계층적아키텍처 유사한기능을수행하는요소그룹으로묶어계층구분 각계층은바로상위또는하위계층과상호작용 하위계층은구체적인구현숨기고인터페이스만제공 운영체제의구조화와일관성부여 소프트웨어검증과디버깅및수정과정간편 19/23
13_ 운영체제아키텍처 o 마이크로커널아키텍처 소수의서비스만제공 커널규모감소, 규모확장성향상 저수준메모리관리, 프로세스간통신, 프로세스간협력을위한동기화기능 구성요소를낮은수준의권한으로커널외부에서실행 확장성, 이식성, 규모확장성향상 모듈간의통신이많아성능감소우려 o 네트워크운영체제와분산운영체제 네트워크운영체제 네트워크에있는다른컴퓨터의자원에접근가능 네트워크파일시스템 분산운영체제 한대이상의컴퓨터에있는자원을관리하는특별한운영체제 구현복잡 프로세스가공유데이터에접근하기때문에복잡한알고리즘요구 20/23
13_ 운영체제아키텍처 21/23
13_ 운영체제아키텍처 22/23
운영체제론