운영체제

컴퓨터는 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가 멀티 태스킹 즉, 멀티 프로세싱 시스템이다. 그리고 나쁜 프로세스들을 감지하여 나쁜짓을 하지 못하게 막는 역할도 한다.

https://binworld.kr/10

H/W 용어 정리

  • Interrupt: 한마디로 '벨 소리'이다. 내가 CPU라고 가정하고 나를 방해하는 요소가 있는데 그 요소가 Interrupt 즉, 예로 CPU와 주변기기와 I/O(통신) 하는데 그 때마다 interrupt 발행한다. interrupt가 발생하면 CPU가 원래 하던 걸 잠깐 멈춘다음(wait), 인터럽트 처리에 들어가 주변기기가 요청한 사안을 처리하고 다시 돌아온다.

printf 함수 호출하는 과정

  1. process 내에 App에서 printf 함수(API)를 호출(call)
  2. API 내부에서는 장치라는 것을 추상화한 file 형태의 인터페이스를 통해서 정보를 내려보낸다.
    정보가 내려갈때 프로세스가 권한이 있는지 없는지 체크를 한다.
  3. 정보가 내려가면 환경이 kernel 영역으로 바뀌는데 이 때 어느 새로운 코드가 실행이 된다. 이 때 이 진입점의 있는 코드를 System call이라고 한다. 즉, printf는 System call의 write명령이고 이것이 작동되며 구성요소가 작동된다.
  4. 이 때 Device Driver로 내려가기 전에 filter라는 것이 있는데 여기서 V3같은 프로세스에게 이 명령이 바이러스가 있는지 없는지 검사를 한다. 이상이 없다면 Device Driver쪽으로 내려간다.
  5. 운영체제가 커널 영역에서 해당 드라이버를 제어하기위해 관련 인터럽트를 CPU에게 전송한다. 이때 나오는 말이 IRQ이다.
  6. IRQ는 고유번호를 가지는데 (장치마다 다르다.) 그 번호를 가지고 요청하기 되면 Interrupt가 발생하면서 CPU는 잠시 멈추고 해당 장치와 통신을 하게 된다. printf( ) 안에 있는 내용물을 디바이스 드라이버의 버퍼쪽으로 전달하고, 관련 실행 명령어들도 전달한다.
  7. 드라이버는 모니터에 수행할 명령을 실행한다.
  8. 할 일을 끝내면 Device Driver는 Interrupt를 보내면서 할 일 다했다고 위로 전달한다. (kernel 구성요소에게)
  9. 그러면 이렇게 하나의 일을 끝낸 CPU는 다시 또 원래 자기가 하던 일을 하러 가는 것이다.
  10. 그리고 이렇게 끝낸 결과를 process에게도 리턴이된다. 그리고 print() 함수 호출로 인해 운영체제 즉, 커널 프로세스로 넘어간 CPU 사용 권한을 다시 사용자 프로세스에게 넘겨준겨준다.
  • 이 프로세스가 1~10까지의 일련의 과정이 끝나서 흐름이 넘어올 때까지 wait를 하면 이 모든 I/O는 blocking I/O가 되는거고 wait하지 않고 다른 일을 하면 non-blocking I/O가 된다.
  • 즉 blocking이냐 non-blocking이냐라는 것은 API를 호출한 쪽에서 프로세스 자신의 상태를 어떻게 하느냐 그 차이이다.

 

출처

https://www.inflearn.com/course/%EA%B3%B0%EC%B1%85-%EC%89%BD%EA%B2%8C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C

 

곰책으로 쉽게 배우는 최소한의 운영체제론 강의 | 널널한 개발자 - 인프런

널널한 개발자 | '넓고 얕게 외워서 컴공 전공자 되기' 강의를 끝낸 분들이 운영체제에 대해 좀 더 깊이 있는 공부를 할 수 있도록 제공되는 강의입니다., 운영체제도 널널한 개발자와 함께! 👨

www.inflearn.com

 

https://product.kyobobook.co.kr/detail/S000001772604

 

운영체제와 정보기술의 원리 | 반효경 - 교보문고

운영체제와 정보기술의 원리 | 컴퓨터 운영체제와 정보기술의 기본 원리 및 핵심 철학을 큰 틀에서, 풍부한 예시와 함께, 알기 쉽게 설명한 컴퓨터 입문서이 책은 온라인 공개강좌 KOCW에서 꾸준

product.kyobobook.co.kr