얼렁뚱땅
[운영체제] 1주차 운영체제 개요 본문
반효경 교수님 강의 1-1, 1-2
프리뷰
운영체제란 무엇인가?
운영 체제의 목적
1. 사용자가 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
운영체제는 동시 사용자 또는 프로그램들이 각각 혼자만 컴퓨터를 사용하는 것처럼 느끼게 해준다.
예) 한 컴퓨터에서 노래를 들으며, 웹서핑을 하며, 문서 작업을 할 경우 각 프로그램이 혼자만 돌아가는 것 처럼 해준다. 만약 서버의 개념으로 볼 경우, 여러 사용자가 접속해도 독자적으로 사용하는 것처럼 해준다.
그 중간 역할을 하는 것이 운영체제.
2. 컴퓨터 시스템의 자원을 효율적으로 관리
1) CPU 관리 : 실행중인 프로그램들에게 짧은 시간씩 CPU를 번갈아 할당. 시간이 매우 짧기 때문에 프로그램은 동시에 실행되는 것처럼 느낀다.
2) 메모리 관리 : 실행중인 프로그램들에 메모리 공간을 적절히 분해.
1) 형평성 : 특정 사용자/프로그램의 지나친 불이익이 발생하지 않도록
2) 효율성 : 주어진 자원으로 최대한의 성능을 내도록
컴퓨터 시스템의 구조
- 컴퓨터 내부 : CPU, 메모리
- I/O 디바이스 : 디스크, 키보드, 프린터, 모니터
OS : 메모리에 항상 있음
CPU : 메모리의 기계어를 읽어서 연산을 한다. 메모리의 어디를 읽는가에 따라 운영체제가 CPU를 사용하는지 다른 프로그램이 CPU를 사용하는 지 알 수 있다.
디스크에서 무엇인가 읽어오려면 : CPU - i/o 컨트롤러에게 부탁 - 읽어서 - CPU 에게 전달
CPU 스케줄링 : 어떤 프로그램에게 CPU를 할당할지 결정하는 것
메모리 관리 : 한정된 메모리를 어떻게 쪼개어 쓸 지 결정하는 것
디스트 스케줄링 : 디스크에 들어온 요청을 어떤 순서로 처리할 지 결정하는 것 (순서대로 처리하면 비효율적이기 때문에 효율적으로). 비슷한 것이 엘레베이터 스케줄링
인터럽트, 캐싱 : 빠른 CPU와 느린 I/O 장치간 속도차를 어떻게 극복하는가
모든 하드웨어 관리는 운영체제를 통해 이루어진다.