강의 소개
현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다.
운영체제
운영체제(Operating System, OS)
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층이다.
사용자가 하드웨어를 몰라도 사용하기 쉽도록 인터페이스를 제공하는 목적이다.
운영체제는 메모리, 하드디스크, CPU 등을 관리한다.
즉, 운영체제는 하드웨어 부분을 직접 관리하여 까다롭다.
운영체제의 목적
1) 사용자에게 편리함을 제공한다.
여러 프로그램을 1대의 컴퓨터에서 동시 사용할 수 있고, 사용자와 프로그램은 독자적으로 실행하는 것처럼 인식한다.
2) 컴퓨터 시스템의 자원을 효율적으로 관리한다.
CPU, 메모리, I/O 장치 등을 관리한다.
주어진 자원으로 최대한의 효율을(= 효율성), 특정 사용자/ 프로그램에게 지나친 불이익이 발생하지 않도록(= 형평성) 한다.
부팅이 된다
부팅이 된다는 것은 운영체제가 메모리에 올라간다는 뜻이다. 운영체제는 컴퓨터가 켜질 때 메모리에 올라가서, 꺼질 때까지 항상 실행된다.
운영체제 중에서도 핵심적인 부분을 '커널'이라 하는데, 이 커널은 컴퓨터가 실행될 때 언제나 메모리에 올라와 있는 부분이다.
메모리
CPU의 작업공간이다. CPU와 함께 묶어서 컴퓨터의 내부 공간이라 한다.
CPU는 메모리에 올라온 기계어를 매 클럭마다 읽어 연산한다.
메모리에는 운영체제와 실행중인 기타 프로그램이 올라간다.
운영체제의 기능
1) CPU 스케줄링
어떤 프로그램에게 CPU 사용권을 줄까? 어떤 프로그램에게 얼마 동안 줄 것이냐 등.
CPU는 하드웨어이기 때문에 생각을 하지 못한다. 매번 가리키고 있는 위치에서 기계어를 읽어 실행하는 역할만 한다.
운영체제의 특정 기계어가 '프로그램 A에게 CPU가 넘어갑니다'라고 하면 CPU가 프로그램 A에게 넘어가는 것이다. 이렇게 CPU의 관리는 '운영체제의 대행'을 통해 이뤄진다.
2) 메모리관리
한정된 메모리를 적절히 분배하여 사용하는 것을 담당한다.
3) 디스크 스케줄링
디스크에 들어온 요청을 어떤 것부터 처리할지 순서를 정하는 것이다. 어떤 순서로 처리해야 효율적 일지 정한다.
4) 인터럽트, 캐싱
빠른 CPU와 느린 I/O 장치 간 속도차를 극복하는 방법이다.
캐싱: 느린 디스크와 상대적으로 빠른 메모리의 속도차 극복을 위해, 자주 요청하는 데이터는 메모리에 보관해두었다가 꺼내 쓰는 것이다.
인터럽트: 느린 장치들에게 일을 시키고 CPU는 다른 일을 하다가, 느린 장치들이 일을 완료하면 CPU에게 인터럽트를 건다. 그러면 자동으로 CPU는 운영체제에 넘어가서 인터럽트 이후의 일을 수행할 수 있게 해 준다.
CPU가 I/O 시스템의 컨트롤러(I/O장치 각각에서 있는 작은 CPU)에게 데이터를 요청할 때, 프로그램 B는 I/O를 하지 않고도 바로 기계어 실행을 할 수 있기 때문에 그동안 CPU는프로그램 B에게 넘어간다. CPU는 일할 수 있으면 계속 일한다.
그동안 I/O장치의 컨트롤러가 CPU가 시킨 일을 다 했으면 '인터럽트'를 보낸다. CPU는 인터럽트를 받으면 자동으로 운영체제에 넘어가서 운영체제는 할 일을 한다.(그 I/O장치가 CPU를 받을 준비가 된 것을 알고 사용할 수 있게 해주는 등)
출처: 운영체제(이화여자대학교, 2017년 1학기 반효경)
'교육, 학습 > CS스터디_반효경 운영체제' 카테고리의 다른 글
운영체제 - DMA 사용이유(DMA와 CPU, 메모리의 관계), 저장장치 계층구조별 특징과 캐싱 (0) | 2022.01.04 |
---|---|
운영체제 - 동기식 입출력, 비동기식 입출력의 차이점, 공통점 (0) | 2022.01.03 |
운영체제 - 인터럽트 종류(trap, exception, 시스템콜, 하드웨어 인터럽트) (0) | 2022.01.03 |
운영체제 - 특권 명령과 일반 명령, mode bit, 모니터 모드, timer interrupt (0) | 2022.01.03 |
운영체제 - 운영체제(OS)란 2 (0) | 2022.01.03 |
댓글