운영체제
컴퓨터는 3층집
뭉크테크
2025. 1. 11. 21:54
개요
운영체제는 S/W다. 일종의 platform이다. S/W는 logical이며, 이를 다른말로 하면, Virtual, 즉 가상화이다. 가상화기술은 H/W를 S/W로 구현한 것이 가상화 기술이다.
운영체제는 MS Word와 같은 S/W다. 단, 차이는 user application 단의 process들을 support한다. 즉, application process들이 잘 작동하도록 도와주는 것이다. 또 하나 다른 점은 H/W를 제어 및 관리한다. 대부분 범용 OS가 멀티 태스킹 즉, 멀티 프로세싱 시스템이다. 그리고 나쁜 프로세스들을 감지하여 나쁜짓을 하지 못하게 막는 역할도 한다.
H/W 용어 정리
- Interrupt: 한마디로 '벨 소리'이다. 내가 CPU라고 가정하고 나를 방해하는 요소가 있는데 그 요소가 Interrupt 즉, 예로 CPU와 주변기기와 I/O(통신) 하는데 그 때마다 interrupt 발행한다. interrupt가 발생하면 CPU가 원래 하던 걸 잠깐 멈춘다음(wait), 인터럽트 처리에 들어가 주변기기가 요청한 사안을 처리하고 다시 돌아온다.
printf 함수 호출하는 과정
- process 내에 App에서 printf 함수(API)를 호출(call)
- API 내부에서는 장치라는 것을 추상화한 file 형태의 인터페이스를 통해서 정보를 내려보낸다.
정보가 내려갈때 프로세스가 권한이 있는지 없는지 체크를 한다. - 정보가 내려가면 환경이 kernel 영역으로 바뀌는데 이 때 어느 새로운 코드가 실행이 된다. 이 때 이 진입점의 있는 코드를 System call이라고 한다. 즉, printf는 System call의 write명령이고 이것이 작동되며 구성요소가 작동된다.
- 이 때 Device Driver로 내려가기 전에 filter라는 것이 있는데 여기서 V3같은 프로세스에게 이 명령이 바이러스가 있는지 없는지 검사를 한다. 이상이 없다면 Device Driver쪽으로 내려간다.
- 운영체제가 커널 영역에서 해당 드라이버를 제어하기위해 관련 인터럽트를 CPU에게 전송한다. 이때 나오는 말이 IRQ이다.
- IRQ는 고유번호를 가지는데 (장치마다 다르다.) 그 번호를 가지고 요청하기 되면 Interrupt가 발생하면서 CPU는 잠시 멈추고 해당 장치와 통신을 하게 된다. printf( ) 안에 있는 내용물을 디바이스 드라이버의 버퍼쪽으로 전달하고, 관련 실행 명령어들도 전달한다.
- 드라이버는 모니터에 수행할 명령을 실행한다.
- 할 일을 끝내면 Device Driver는 Interrupt를 보내면서 할 일 다했다고 위로 전달한다. (kernel 구성요소에게)
- 그러면 이렇게 하나의 일을 끝낸 CPU는 다시 또 원래 자기가 하던 일을 하러 가는 것이다.
- 그리고 이렇게 끝낸 결과를 process에게도 리턴이된다. 그리고 print() 함수 호출로 인해 운영체제 즉, 커널 프로세스로 넘어간 CPU 사용 권한을 다시 사용자 프로세스에게 넘겨준겨준다.
- 이 프로세스가 1~10까지의 일련의 과정이 끝나서 흐름이 넘어올 때까지 wait를 하면 이 모든 I/O는 blocking I/O가 되는거고 wait하지 않고 다른 일을 하면 non-blocking I/O가 된다.
- 즉 blocking이냐 non-blocking이냐라는 것은 API를 호출한 쪽에서 프로세스 자신의 상태를 어떻게 하느냐 그 차이이다.
출처
곰책으로 쉽게 배우는 최소한의 운영체제론 강의 | 널널한 개발자 - 인프런
널널한 개발자 | '넓고 얕게 외워서 컴공 전공자 되기' 강의를 끝낸 분들이 운영체제에 대해 좀 더 깊이 있는 공부를 할 수 있도록 제공되는 강의입니다., 운영체제도 널널한 개발자와 함께! 👨
www.inflearn.com
https://product.kyobobook.co.kr/detail/S000001772604
운영체제와 정보기술의 원리 | 반효경 - 교보문고
운영체제와 정보기술의 원리 | 컴퓨터 운영체제와 정보기술의 기본 원리 및 핵심 철학을 큰 틀에서, 풍부한 예시와 함께, 알기 쉽게 설명한 컴퓨터 입문서이 책은 온라인 공개강좌 KOCW에서 꾸준
product.kyobobook.co.kr