CS/운영체제

CPU 스케줄링
출처 : KMOOC / 운영체제 / 이화여대 반효경 교수님 CPU bound job CPU를 길게 쓰는 프로그램. 중간에 I/O를 자주 사용하지 않는 프로그램 I/O bound job CPU를 짧게 쓰는 프로그램. 중간에 I/O를 자주 사용하는 프로그램. 주로 사람하고 상호작용하는 프로그램. I/O bound job에게 더 빠른 응답을 제공할 필요가 있음 - CPU를 빨리 쓰고 I/O 하러 가면 된다 - 사람과 자주 상호작용 하니까 더 중요하다 CPU Scheduler CPU를 넘겨줄 프로세스를 결정하는 OS 내부 코드 Dispatcher - 결정된 프로세스에게 실제로 CPU를 넘기는 OS 내부 코드 - 문맥 교환 CPU를 뺏긴 프로세스의 context를 save CPU를 얻은 프로세스의 context를..

프로세스 관리
출처 : KMOOC / 운영체제 / 이화여대 반효경 교수님 예를 들어 프로세스 B가 가상으로 0~32의 주소를 갖고 있다고 하자. 메모리에서 16만큼만 쓸 수 있다고 하자. 0~16을 잘라서 물리 주소 ? ~ ?+16에 올린다. 이 과정에서 가상 주소 $\rightarrow$ 물리 주소 번역이 필요하다. 남은 16~32는 스왑 영역에 보관한다. 프로세스의 개념 프로세스 : 실행중인 프로그램 프로세스의 문맥(context) - 프로세스의 과거 정보와 현재 상태를 의미 - ex) 하드웨어 문맥 : CPU에서 얼만큼 수행했는가 ex) Program Counter, 각종 register - ex) 프로세스의 주소 공간 : code, data, stack - ex) 프로세스를 관리하기 위한 커널 내 자료 구조 :..

컴퓨터 시스템의 구조
출처 : KMOOC / 운영체제 / 이화여대 반효경 교수님 컴퓨터 시스템 구조와 프로그램 실행 Interrupt - CPU는 기계어 실행하면서 계속 interrupt 체크 $\rightarrow$ interrupt 받으면 mode bit 0으로 바꾸고 os한테 CPU 제어권을 넘긴다 - 일반적으로 interrupt는 device controller가 보내는 HW interrupt를 의미한다. - SW interrupt도 있지만 보통 trap이라고 부른다. Trap - Exception : 프로그램이 오류를 범하는 경우 ( 0으로 나눈다거나, 특권 명령을 수행하라고 요구하거나 ) - System call : 프로그램이 커널 함수를 호출 시스템 콜 (System Call) - 사용자 프로그램이 OS의 서비스..
운영체제 개요
출처 : KMOOC / 운영체제 / 이화여대 반효경 교수님 사용자 ㅡㅡㅡ SW | 사용자 ㅡㅡㅡㅡㅡㅡㅡ 운영체제 ㅡㅡㅡㅡㅡㅡㅡ 하드웨어 운영체제란 사용자가 하드웨어에 대해 잘 몰라도 컴퓨터를 편하게 사용할 수 있게 알아서 메모리 등을 관리해주는 소프트웨어 운영체제의 목적 - 멀티 쓰레드 : 여러 프로그램을 번갈아가면서 실행해서 자신만 실행되고 있는 것처럼 착각하게 함 - 자원의 효율적 관리 $\leftarrow$ 이게 핵심! 컴퓨터 시스템의 구조 내부 : CPU, 메모리 I/O 디바이스 : 디스크, 키보드, 마우스, 모니터 등 운영체제의 기능 - CPU 스케줄링 - 메모리 관리 - 디스크 스케줄링 - 인터럽트, 캐싱 : 빠른 CPU와 느린 I/O 장치간의 속도차 극복 CPU 스케줄링 Process 사용시..