운영체제는 무엇이고 어떤 역할을 수행하는지 설명해주세요.
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어들과 하드웨어를 연결하는 소프트웨어
시분할 시스템에 대해서 설명해주세요. (time sharing → CPU 측면을 강조)
여러 프로세스 혹은 여러 사용자가 컴퓨터 자원을 일정 시간씩 나누어서 쓸 수 있게한 시스템
다중 프로그래밍 시스템(multi-programming system)에 대해서 설명해주세요. (메모리 측면을 강조)
다중 프로그래밍이란 컴퓨터에서 여러 작업을 동시에 수행하는 것과 관련된 개념
대화형 시스템(interactive system)에 대해서 설명해주세요.
일괄배치 시스템과 반대되는 개념의 시스템
다중 처리기 시스템(multi-processor system)에 대해서 설명해주세요.
프로세서란 컴퓨터에서 연산을 담당하는 CPU
이 CPU가 단 하나만 존재한다면 실행 중인 프로그램들이 시간 단위로 CPU 제어권을 부여받아 기계어를 처리해야 한다.
다중 처리기 시스템처럼 CPU가 여러 개인 시스템은 여러 CPU에서 프로그램에 대한 연산을 수행할 수 있으므로 훨씬 빠르게 처리가 가능하다. 하지만 CPU를 제외한 자원은 공유해야 하므로 단일 처리기 시스템보다 복잡하다.
시스템 콜에 대해 설명해주세요.
사용자 프로그램이 입출력 요청을 하기 위해 운영체제의 커널 함수를 호출하는 것
커널에 대해 설명해주세요.
컴퓨터 부팅시 메모리에 올라가는 운영체제의 핵심 부분.
전원이 꺼질 때까지 메모리에 상주한다.
커널 영역을 제외한 나머지 메모리 부분을 실행 중인 프로그램들이 나눠서 사용한다.
커널모드에 대해 설명해주세요. (모니터 모드, 시스템 모드)
mode bit가 0으로, 운영체제가 CPU 제어권을 가지고 있는 상황
유저모드에 대해 설명해주세요. (사용자 모드)
mode bit가 1로, 사용자 프로그램이 CPU 제어권을 가지고 있는 상황
폴링에 대해 설명해주세요. (인터럽트와 비교)
CPU가 다른 프로세스를 실행하는 동안 디바이스로부터 발생하는 이벤트를 처리하는 방식
인터럽트는 디바이스가 서비스가 필요함을 CPU에 알리는 반면, 폴링은 CPU가 디바이스 서비스가 필요한지 여부를 반복적으로 확인하는 방식이다.
인터럽트에 대해 설명해주세요. (폴링과 비교)
CPU가 다른 프로세스를 실행하는 동안 디바이스로부터 발생하는 이벤트를 처리하는 방식
하드웨어 매커니즘으로 CPU는 다음 기계어 실행 전 항상 인터럽트 라인을 체크해 들어온 인터럽트가 있는지 확인하고 인터럽트가 있으면 운영체제에 CPU제어권을 넘겨 작업을 처리한다.
DMA에 대해 설명해주세요.
Direct Memory Access의 약자로, 직접 메모리에 접근 가능하다는 것을 의미
동기식 I/O에 대해 설명해주세요.
IO디바이스에 IO요청을 한 뒤에 다른 프로그램에 CPU제어권을 넘겨줬다가. 요청이 끝난 후 결과를 토대로 다시 작업을 재시작하는 방식.
비동기식 I/O에 대해 설명해주세요.
IO디바이스에 IO요청을 한 뒤에, IO 결과와는 상관 없이 바로 작업을 지속하는 방식
좋았던 점
공부자료로 추천해주신 반효경 교수님 강의를 통해 학습하였다.
비전공자라 컴퓨터구조나 운영체제는 블로그 글을 통해 파편적으로 학습해왔었는데, 강의를 통해 단계적으로 배우다보니 훨씬 더 깊은 이해가 가능해서 매우 재미있었다!
아쉬운 점
이번 주차 공부를 위해서 반효경 교수님 수업을 6강까지 학습하였다.
대학교 때처럼 수업 내용을 필기하면서 들으려니 예상한 것보다 오랜 시간이 걸렸다.
결국 수요일,목요일엔 잠자는 시간을 쪼개서 공부를 해야했고 결국 컨디션 난조...
다음 주차에는 시간 분배를 좀 더 잘해봐야겠다!