1 / 31

운영체제 Course 개요

운영체제 Course 개요. 운영체제. 강의목표 운영체제의 기본 개념과 이론을 이해하고 프로세스 , 메모리 , 파일 및 입출력 등 서브 시스템을 중심으로 운영체제의 구조와 내용을 배우고 운영체제 설계시에 고려하여야 할 사항을 학습한다 . 강의내용 기존 운영체제의 분석 프로세스 , 쓰레드 , CPU 스케쥴링 , 프로세스 동기화 및 교착 상태 개념의 이해 주기억장치 관리 , 가상메모리 , 파일 시스템 인터페이스 및 파일 시스템 구현 기법의 이해 입출력 시스템 및 대용량 저장장치 구조의 이해

lerato
Télécharger la présentation

운영체제 Course 개요

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 운영체제 Course 개요

  2. 운영체제 • 강의목표 • 운영체제의 기본 개념과 이론을 이해하고 프로세스, 메모리, 파일 및 입출력 등 서브 시스템을 중심으로 운영체제의 구조와 내용을 배우고 운영체제 설계시에 고려하여야 할 사항을 학습한다. • 강의내용 • 기존 운영체제의 분석 • 프로세스, 쓰레드, CPU 스케쥴링, 프로세스 동기화 및 교착 상태 개념의 이해 • 주기억장치 관리, 가상메모리, 파일 시스템 인터페이스 및 파일 시스템 구현 기법의 이해 • 입출력 시스템 및 대용량 저장장치 구조의 이해 • 보호 및 보안 개념에 대한 이해

  3. 운영체제 • 세부 강의 내용 • 서론 • 컴퓨터시스템 및 운영체제 구조 • 프로세스 • 쓰레드 • CPU 스케쥴링 • 프로세스 동기화 • 교착상태 • 주기억장치 • 가상메모리 • 파일시스템 • 입출력시스템 • 보호 및 보안

  4. 운영체제 • 교재 및 참고교재 • 교재: • 운영체제 (그림으로 배우는 원리와 구조), 구현회 저, 한빛미디어, 2007/01 • 참고교재 • Operating Systems 3판, Gary Nutt 저, 김인국외 6인 역, 사이텍미디어 2004년 • 강사 소개 • 이름 : 정종필 • 소속 : 성균관대학교 정보통신공학부 지능형HCI융합연구센터 연구원 • 연락처 : 010-9700-6284 • 전자우편 : jpjeong@kpu.ac.kr

  5. 운영체제 • 평가방법 • 중간고사 30% • 기말고사 40% • 레포트 및 term project 30% • 절대평가 • 강의노트 • 홈페이지 강의 노트 다운로드 후 인쇄 (필요시 수정) • http://monet.skku.ac.kr/~jpjeong

  6. 운영체제 개요 • OS의 기능 • User Interface • Text(Character) User Interface • GUI(Graphical User Interface) • EUCI(End-User Comfortable Interface) • Resource management • Processor management • Memory management • File management • I/O device management • Process management

  7. Application Process Application Process Application Process Application Process System Softwares and Utilities System Call Interface Kernel Resource Management System Call Interface Computer Hardware 컴퓨터 시스템의 다단계 구성

  8. OS의 종류 • OS의 분류 • 동시 사용자 수에 따라 • Single-user system • Multi-user system • 작업 처리 방법에 따라 • Single-tasking system • Multi-tasking system (Multiprogramming system) • 사용 환경에 따라 • Batch processing system • Time-sharing system • Distributed processing system • Real-time system

  9. Single-user system vs. Multi-user system • Single-user system • OS가 한 순간 한 사용자만이 시스템을 사용할 수 있도록 지원 • 시스템의 모든 자원들이 사용자에 귀속 • Protection mechanism 등이 simple • 주로 micro-computer나 personal computer에서 사용 • MS-DOS, Windows 95/98/XP/Vista • Multi-user system • 동시에 여러 사용자들이 시스템을 사용할 수 있도록 지원 • 각종 시스템 자원(파일 등)들에 대한 소유 권한 관리 필요 • 기본적으로 Multi-tasking 기능 필요 • OS의 기능 및 구조가 복잡해짐 • Unix, VMS(Digital), MVS(IBM), VM(IBM), AOS/VS(DG)

  10. Single-tasking vs. Multi-tasking • Single-tasking system • 시스템 내에 하나의 작업(프로그램, 프로세스)만 존재, 실행 가능 • 하나의 프로그램 실행을 마친 뒤에 다른 프로그램의 실행을 시작 • 대부분 single-user system • OS의 구조가 simple • 주로 micro-computer나 personal computer에서 사용 • MS-DOS • Multi-tasking system • 동시에 여러 작업의 수행을 지원 • 병행 수행으로 인한 문제점들의 관리 필요 • 운영체제의 기능 및 구조가 복잡해짐 • Unix, Windows NT, VMS(Digital), MVS(IBM), VM(IBM), AOS/VS(DG)

  11. 일괄처리 시스템(Batch systems) • 사용자의 요청 작업들을 일정 시간 모아 두었다가 한꺼번에 처리하는 방식 • 전자계산소 등에서 컴퓨터 시스템의 일체의 장비들을 관리, 운영 (대부분의 경우 천공 카드 사용) • 시스템 지향적인 환경 • 장점 • throughput 향상 • resource utilization 증대 • 단점 • productivity 저하 • turnaround time이 길다 (약 6시간)

  12. 일괄처리 시스템 환경 line printer memory punch machines IOP card reader processor jobs HDD users operator IOP : Input/Output Processor

  13. 시분할 시스템(Time-sharing systems) • 사용자들이 컴퓨터 시스템과 직접 대화형으로 작업 처리 • Conversational system, Interactive system • 단말기(CRT terminal) 사용 • 사용자 지향적인 환경 • 장점 • 응답 시간(response time) 단축 • productivity 향상 • 단점 • 통신선 비용 증가

  14. r I/O devices memory processor HDD terminal server operator terminals Users 시분할 시스템 환경

  15. 분산 시스템 (distributed systems) • Network 기반의 일관된 환경 구축을 위해 구성된 시스템 • 클라이언트-서버 환경(client-server environment ) • 특성 • 각각 운영체제 탑재한 다수의 범용 시스템으로 구성 • 물리적인 분산, 통신망 이용한 상호 연결 • 분산운영체제(distributed operating system) 존재 • 은폐성(transparency) • 각 구성 요소들간의 독립성유지, 공동작업 가능 • 장점 • low cost, high performance • scalability, reliability/availability, expandability • 단점 • 구축 어려움

  16. 실시간 시스템 (real-time systems) • 입력 작업이 제한 시간(deadline)을 갖는 경우가 있는 시스템 • 시스템 자원의 활용보다 작업별로 제한 시간 내에 서비스를 완료하는 것이 중요 • 3 types of jobs - hard real-time job - soft real-time job - non-real-time job • 예 • control systems • military applications • 요구되는 기법 • 실시간 프로그래밍 언어 및 컴파일러 • 실시간 프로세스 스케줄링(processor scheduling) 기법 • etc.

  17. Uni-programming • all computer resources to one user 1950’s • batch processing system • introduced for utilizing larger memory size • better use of expensive computer cycles 1960’s • time-sharing systems • productivity • developed because computer cycles became cheaper and computers more powerful 1970’s OS 발달 과정 Early stages of OS

  18. Personal computing • VLSI and communication technology - made workstations an affordable alternative to time-sharing system - guaranteed computer capacity 1980’s • users want to work with dedicated machine (EWS, PC) • users want to share expensive resources - computer networks - distributed systems • usersmake no distinction between local and remote operations • one file system • more reliable (fault tolerance) • performance improvement (parallelism) now(1990’s) OS 발달 과정 Late stages of OS

  19. OS 발달 과정 • 1950년대 초 • OS의 효시 • 미 GM사, 북아메리카 항공사 공동 개발 • 일괄처리 시스템의 효시 IBM-704의 OS • 1950년대 말 • 미 MIT 개발 • 최초의 시분할 OS CTSS • 1950년대 말 • OS의 효시 • 미 Bell 연구소 GE사 공동 개발 • EPL(PL/1 초기버전) 언어 사용 Multics • 1960년대 말, 70년대 초 • 미 Bell 연구소 개발 • 어셈블리 언어, C언어 사용 UNIX OS Unix OS 발달 과정

  20. OS 발달 과정 Late History of OS

  21. OS 구성 • OS 구성 • 커널 (kernel) • OS의 핵심부분 (booting 후 memory에 상주) • 사용자 및 실행 프로그램들을 위해 빈번히 사용되는 기능 담당 • 주로 자원의 관리 기능 • 동의어 • 핵 (neucleus) • 관리자 (supervisor) 프로그램, • 상주 프로그램 (resident program) • 제어 프로그램 (control program) • 유틸리티 프로그램 (utility programs) • 비상주 프로그램, 서비스 프로그램 • 주로 사용자 인터페이스 기능

  22. Kernel Hardware Structure of OS applications Utilities System calls Major functions of Kernel • Hardware resource management - Processor, memory, I/O devices, etc. Resource Mgmt • Software resource management - files, messages, processes, etc.

  23. OS 기능 • 프로세스(process) 관리 • 프로세스 • 수행중인 프로그램 • 사용자의 명령 또는 작업 요청이 컴퓨터 시스템에 입력되고 그 수행이 종료되지 않은 상태 • 실행 상태, 실행 준비 상태, 대기 상태 등 전이 • 프로세스 관리 정보 • 각 프로세스들의 상태 • 특정 상태에 있는 프로세스들이 요구한 자원 • 각 프로세스들에 대해 지금까지의 총 실행시간 등 • 여러 프로세스간 자원 공유 관리 • 데이타의 무결성 (integrity) 유지

  24. OS 기능 • 스케줄러 (scheduler) • OS 중 스케줄링 기능 담당부분 • 프로세서(processor) 관리 • 처리장치 (P : Processor, Processing Unit) • 프로그램을 실행시키는 핵심 자원 • 프로세스 스케줄링 (process scheduling) • 시스템 내의 프로세스 실행 순서 결정 • 프로세스 할당 관리 • 각 프로세서들에 대해 프로세스 배당 결정 및 운영

  25. OS 기능 • 기억장치 관리 • multi-user, multi-tasking 시스템 • 각 프로세스에 대해 주기억장치 할당, 기록, 반환 • 주기억 장치의 빈 공간 기록, 유지 • 주기억 장치 용량 부족시 이에 대한 처리 • 각 프로세스의 할당 영역 접근 보호 • 주기억 장치 할당 방법 • 사용자 프로그램 전체를 적재 • 주기억 장치 낭비, 적재가능 프로그램 수 줄임 • 구현이 쉬움 • 사용자 프로그램 중 필요한 일부만 적재 (virtual storage concepts) • 주기억 장치 낭비 줄임 • 실행 도중 보조기억장치 접근이 요구됨

  26. OS 기능 • 화일 관리 • 화일 • 연관된 데이타의 모임 • 프로그램 화일, 데이터 화일 등 • 사용자의 화일들을 관리하고 유지하는 일 • 디렉토리 계층구조 (hierarchical directory structure) • 루트 디렉토리에서부터 계속 서브디렉토리를 생성하면서 사용자들이 자신의 화일을 관리하기 쉽도록 지원하는 개념 • 다중-사용자 시스템 • 각 사용자들이 자신의 소유가 아닌 화일 접근시 이를 보호

  27. 일반 화일 디렉토리 디렉토리 계층구조의 예

  28. OS 기능 실행중인 프로세스 입출력 요구 실행 가능 상태로 전이 OS 입출력 요구 전달 입출력 완료(인터럽트) 입출력 처리장치 • 버퍼 (buffer) 영역 • - 입출력장치와 주기억장치의 사용자 영역간 데이터 전달 • - 주기억장치의 커널 공간 내에 존재 • 입출력 관리 • 입출력 과정

  29. 커널 공간 IOCS buffer pool 입출력 장치 사용자 프로그램 사용자 공간 사용자 입출력 영역 주기억장치 사용자 프로세스의 입출력 과정 *IOCS : Input/Output Control System

  30. OS 미래 • 최근 OS의 개발 동향 • 마이크로커널화 • Mach, Chorus 등 • 객체지향 OS • Cairo, NextStep 3.1, Taligent 등 • 멀티미디어 OS • QuickTime, Chicago, MMPM/w, COSMOS 등 • 분산 컴퓨팅 환경 및 클라이언트-서버 환경 • Cairo, Taligent 등

  31. 결론 • OS 기능 • 사용자 인터페이스 기능, 자원 관리 기능 • OS 분류 • 개방형(open), 전용(proprietary) OS • 분류 기준 • 사용자 수 • 동시 처리 작업 수 • 사용자 환경 • OS 구성 • 커널, 유틸리티

More Related