1 / 17

제 1 장 소개 1.1 개요 운영체제의 목적 컴퓨터 시스템을 편리하게 사용 / 이용 (user friendly)

제 1 장 소개 1.1 개요 운영체제의 목적 컴퓨터 시스템을 편리하게 사용 / 이용 (user friendly) 컴퓨터 하드웨어 ( 자원 ) 를 효율적으로 관리 ( 자원 할당자 , efficient) 컴퓨터 시스템의 구성. 운영체제의 다른 관점 제어 프로그램 : 사용자 프로그램을 통제하여 오류와 컴퓨터의 부적절한 사용을 방지한다 . 컴퓨터 시스템을 구성하는 자원들을 통제하고 할당하는 공통적인 기능들을 하나의 소프트웨어로 통합한 것 . 1.2 운영체제의 유형

Download Presentation

제 1 장 소개 1.1 개요 운영체제의 목적 컴퓨터 시스템을 편리하게 사용 / 이용 (user friendly)

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. 제 1 장 소개 • 1.1 개요 • 운영체제의 목적 • 컴퓨터 시스템을 편리하게 사용/이용(user friendly) • 컴퓨터 하드웨어(자원)를 효율적으로 관리(자원 할당자, efficient) • 컴퓨터 시스템의 구성 Slide 1 (of 17)

  2. 운영체제의 다른 관점 • 제어 프로그램: 사용자 프로그램을 통제하여 오류와 컴퓨터의 부적절한 사용을 방지한다. • 컴퓨터 시스템을 구성하는 자원들을 통제하고 할당하는 공통적인 기능들을 하나의 소프트웨어로 통합한 것. 1.2 운영체제의 유형 1.2.1 일괄 처리 시스템(Batch Processing System) • 작업 준비 시간(테이프 준비, 오퍼레이터가 콘솔을 조작)을 줄이기 위하여 요구사항이 비슷한 작업들을 함께 묶어서 수행하는 방법 • 작업 순서의 자동화(automatic job sequencing): 한 프로그램에서 다음 프로그램으로 제어를 자동적으로 넘기기 위하여 만들어진 상주 모니터(resident monitor)를 두는 것이다. • 작업 제어 카드(JCL)를 사용하여 프로그래머가 상주 모니터에게 정보 전달 • 단일 프로세스 Slide 2 (of 17)

  3. 1.2.2 다중 프로그래밍 시스템 • 중앙처리장치의 이용도를 높이기 위하여 주기억장치 내에 여러 프로그램들이 존재한다. • 여러 개의 작업을 준비 상태에 두고, 준비 상태에 있는 여러 작업들 중 어느 한 작업을 실행할 작업으로 선정하는 데에는 별도의 기억장치 관리 기법이나 중앙처리장치 관리 기법 등이 필요하다. (a) 순차 실행 (b) 다중 프로그래밍 실행 Slide 3 (of 17)

  4. 1.2.3 시분할 시스템 • 여러 사용자들이 컴퓨터 자원(특히, CPU)에 대한 짧은 시간 단위의 공유를 통하여 구현되어진다. • 사용자는 대화식 단말장치를 이용하여 시분할 시스템과 인터페이스 한다. Slide 4 (of 17)

  5. 1.2.5 실시간 시스템 • 처리기의 작동이나 데이터의 흐름에 엄격한 시간적 제약이 있을 때 사용된다. • 센서 등에 의한 사건 발생 신호를 받아, 어떤 사건이 발생하였는지를 판단하고 그 사건을 해결하기 위하여 사건이 제시한 데이터를 처리하여 응답하는 과정에 대한 제어를 책임진다. • 과학 실험을 제어하는 시스템, 의학 영상 시스템, 산업 제어 시스템, 디스플레이 시스템 등 • 경성 실시간 시스템 • 중요한 태스크가 정해진 시간에 완료될 것을 보장 • 어떤 보조 저장장치는 제한적으로 사용하거나 전혀 사용하지 않으며, 데이터는 주기억장치 또는 ROM에 저장된다. • 연성 실시간 시스템 • 중요한 실시간 태스크가 다른 태스크 보다 높은 우선순위를 얻는다. • 멀티미디어, 가상현실 Slide 5 (of 17)

  6. 1.2.5 다중 처리 시스템 • 공유기억장치를 통하여 하나로 연결된 다중처리기의 제어 및 공유를 위한 시스템 • 밀착된 결합 시스템(tightly coupled system): 매우 밀접한 통신을 하는 하나 이상의 처리기를 가지며, 컴퓨터 버스, 클락, 메모리와 주변장치를 공유한다. • 처리량 증가 • 신뢰성 증가 • 대칭적 다중 처리(SMP) • 비대칭적 다중 처리 • 느슨한 결합 시스템(loosely coupled system): 각 처리기는 기억장치와 클럭을 공유하지 않으며 각 처리기는 자신의 지역 기억장치를 가지며, 처리기들은 고속의 버스나 광섬유와 같은 다양한 통신 회선을 통해 서로 통신한다.분산 시스템 Slide 6 (of 17)

  7. 1.2.6 개인용 컴퓨터 시스템 • 편리성과 응답성을 더 중요시 한다. • 1.2.8 멀티미디어 시스템 • 이미지/그래픽, 사운드, 애니메이션 및 비디오 등 다양한 미디어를 이용하여 멀티미디어 콘텐츠를 제작하기 위해 필요한 하드웨어와 소프트웨어로 구성된다. • 저작 시스템, 재생 시스템, 멀티미디어 플랫폼 Slide 7 (of 17)

  8. 1.3 운영체제에 대한 관점 • 1.3.1 자원 관리자 관점 • 운영체제는 자원이 효율적으로 사용되도록 관리하고 다양한 요구를 가지는 사용자 간에 발생할 수 있는 자원에 대한 경쟁 및 이로 인한 충돌을 해결한다. • 자원 관리자 • 자원의 상태를 추적/저장 • 어떤 프로세스가 언제 어떤 자원을 얼마나 사용할 것인지를 결정하기 위한 정책 수립 • 자원의 할당 • 자원의 회수 • 프로세스 관리 기능 • 중앙처리장치와 프로세스의 상태를 추적/저장한다. • 어떤 작업에게 처리기를 사용하도록 할 것인지를 결정한다(프로세스 스케줄러). • 디스패쳐는 필요한 하드웨어 레지스터를 설정함으로써 프로세스에게 중앙처리장치를 할당한다.(문맥교환, 사용자 모드로 전환, 프로세스의 실행 위치로 이동) • 프로세스가 수행을 종료하였거나, 어떤 이유로 인하여 사용의 양도 또는 허용된 사용 시간을 초과하였을 경우 중앙처리장치를 회수한다. Slide 8 (of 17)

  9. 기억장치 관리 기능 • 기억장치의 상태를 추적/저장한다. 기억장치의 어떤 부분이 사용되고, 어떤 부분이 사용되고 있지 않은가? 만약 사용된다면 어떤 프로세스에 의해 사용되는가를 추적/저장한다. • 다중 프로그래밍 환경 하에서, 어떤 프로세스에게 언제, 얼마의 기억 장치를 할당할 것인지를 결정한다. • 프로세스가 기억장치를 요구하면 할당한다. • 프로세스가 더 이상 기억장치를 필요로 하지 않게 되면 회수한다. • 장치 관리 기능 • 채널 등 제어장치 및 입출력장치와 같은 각종 장치들의 상태를 추적/저장한다. • 장치를 할당하는데 어떤 방법이 효율적인지를 결정한다. 각 장치마다 대기 큐를 유지함으로써 스케줄링을 구현한다.(I/O Scheduling) • 해당 장치를 할당하고 입출력 동작을 시작한다. • 입출력이 종료되면 자동적으로 자원을 회수한다. • 정보 관리 기능 • 정보의 위치, 사용 여부 및 상태 등을 추적/관리한다.(파일 시스템) • 어떤 작업에게 정보 자원을 사용하도록 할 것인지를 결정한다. 정보보호를 위한 대책을 수립하고, 접근 방법을 제공한다. • 정보 자원을 할당한다. • 정보 자원을 회수한다. Slide 9 (of 17)

  10. 운영체제 프로세스 1 프로세스 2 프로세스 3 • 1.3.2 프로세스 관점 • 다중 프로그래밍 환경 Slide 10 (of 17)

  11. 운영체제의 구성요소 A B 프로세스 프로세스 3 프로세스 1 프로세스 외부적 확장 기계 내부적 확장 기계 하드웨어 사용자 프로그램 ( ) 프로세스 ( ) 운영체제의 주된기능 ( 운영체제의 주된기능을 제외한 ) 나머지 부분 2 4 프로세스 프로세스 1.3.3 계층 구조 관점 Slide 11 (of 17)

  12. 1.4 입출력 프로그래밍 • 1.4.1 버퍼링 • 입출력장치나 보조기억장치는 기계적 요인 때문에 중앙처리장치와 비교할 때 매우 느린 속도로 작동한다. 이와 같은 입출력장치의 느린 속도를 보완하는 한 가지 방법이 버퍼링이다. ① 중앙처리장치는 출력할 데이터를 버퍼에 채운다. ② 버퍼가 다 채워지면 중앙처리장치는 채널에게 출력을 지시하고, 자신의 일을 계속한다. ③ 채널은 출력을 수행함으로써 버퍼를 비운다. ④ 출력을 완료함으로써 버퍼를 다 비우면 중앙처리장치에게 알린다. Slide 12 (of 17)

  13. 1.4.2 스풀링(SPOOLing) • Simultaneous Peripheral Operation On-Line • 버퍼링은 주기억장치를 버퍼로 사용하는 반면, 스풀링은 디스크를 매우 큰 버퍼처럼 사용하는 것이다. • 입출력 장치에 대한 공유를 가능하게 하기 위하여 가상적인 장치(virtual device)를 각 프로세스에게 제공해 주는 개념이다. Slide 13 (of 17)

  14. 1.4.3 채널 • 입출력 장치와 중앙처리 장치 사이에 입출력 전담 처리기인 입출력 채널(I/O channel)을 두고, 모든 입출력이 채널을 통하여 수행됨으로써 중앙처리장치는 입출력이 실제로 수행 완료될 때 까지 기다리거나 수시로 입출력장치의 상태를 점검할 필요 없이 계속해서 연산을 수행할 수 있다. Slide 14 (of 17)

  15. 1.4.4 인터럽트 • 채널과 중앙처리장치 간의 통신은 일반적으로 인터럽트(interrupt)에 의해 이루어진다. • 종류 • 입출력(I/O) 인터럽트 : 해당 입출력 하드웨어가 주어진 입출력 동작을 완료하였거나 또는 입출력의 오류 등이 발생하였을 때 중앙처리장치에 대하여 요청하는 인터럽트이다. • 외부(external) 인터럽트 : 시스템 타이머(timer)에서 일정한 시간이 만료된 경우나 오퍼레이터가 콘솔 상의 인터럽트 키를 입력한 경우, 또는 다중처리 시스템에서 다른 처리기로부터 신호가 온 경우 등에 발생한다. • SVC(SuperVisor Call) 인터럽트 : 사용자 프로그램이 수행되는 과정에서 입출력 수행, 기억장치의 할당, 또는 오퍼레이터의 개입 요구 등을 위하여 실행 중의 프로그램이 SVC 명령을 수행하는 경우에 발생한다. • 기계 검사(machine check) 인터럽트 : 컴퓨터 자체 내의 기계적인 장애나 오류로 인한 인터럽트이다. • 프로그램 에러(program error) 인터럽트 : 주로 프로그램의 실행 오류로 인해 발생한다. 예를 들면, 수행 중인 프로그램에서 0으로 나누는 연산이나, 보호(protection)되어 있는 기억장소에 대한 접근, 허용되지 않는 명령어의 수행, 또는 스택의 오버플로(overflow) 등과 같은 오류가 발생할 때 일어난다. • 재시작(restart) 인터럽트 : 오퍼레이터가 콘솔 상의 재시작 키를 누를 때 일어난다. Slide 15 (of 17)

  16. 인터럽트 처리 과정 Slide 16 (of 17)

  17. 인터럽트 처리 과정 및 PSW 위치 Slide 17 (of 17)

More Related