운영체제 구조 Preview
안녕하세요 오늘은 운영체제 구조에 대해 알아보도록 하겠습니다. 먼저 운영체제를 알기전, 컴퓨터 시스템의 구조에 대해 먼저 파악해보도록 하겠습니다

Computer
CPU, Memory로 구성된것을 Computer라고 함
I/O Device
IO Device data가 Computer로 입출 하는 장치
CPU
매 클럭마다 메모리에서 기계어 (instruction)를 하나씩 읽어와 자신의 일을 수행한다.
instruction이란 hardware에게 특정 동작을 수행하도록 하는 명령어
Memory
CPU의 작업 공간.
항상 CPU랑 작업을 해야만하는 친구라고 생각하자
Local Buffer
Device controller의 작업공간.
Device controller
I/O Device의 device를 전담하는 작은 CPU가 존재한다고 여기면된다
disk에서 head가 어떻게 움직이고 어떤 데이터를 읽을지 디스크의 내부를 통제하는 역할 (CPU가 할수없음)
CPU Register
CPU는 memory랑만 작업을한다. 하지만 CPU와 memory의 잦은 접근은 오버헤드를 유발시킬수 있다.
memory보다 빠르면 정보를 저장할수있는 작은 공간을 사용하는것이 편리한다 그것이 CPU Register라고 한다.
Interrupt line
현대의 운영체제는 인터럽트에 의해 구동됨
CPU는 항상 메모리의 기계어를 가져와 해석한다.매 Cycle마다 interrupt line은 명령어를 가져와 해석하여 CPU에게 정보를 전달한다.
Interrupt : 하드웨어가 발생시킨 인터럽트
Trap : 소프트웨어 인터럽트라고 한다 종류는 총 2가지로 Exception(프로그램이 오류를 범한 경우), System call (프로그램이 커널 함수를 호출하는 경우)이 존재한다.
Mode bit
사용자 프로그램의 잘못된 수행(무한루프 or 사용자 프로그램 해킹)으로 다른 프로그램 및 운영체제에 피해가 가지않도록 하기위한 보호 장치.
mode bit 1이라면 사용자 프로그램 수행, mode bit 0이라면 OS 코드 수행
ex) CPU가 사용자 프로그램에게 넘어갈때 mode bit 1, Interrupt나 Exception 발생시 하드웨어가 mode bit 0으로 바꿈
보안을 해칠수있는 중용한 명령어로 모니터 모드(커널 모드, 시스템 모드)에서만 수행가능하다.
Timer
timer로 할당된 시간을 통해서 Program에게 CPU를 넘겨주거나 timer의 시간초과로 CPU에게 interrupt을 걸어주는 역할 즉, 특정 프로그램이 CPU를 독점하기위한것을 막기위함이다.
System call
사용자 프로그램이 운영체제의 서비스를 받기위해 커널 함수를 호출하는것.
즉, I/O나 사용자 프로그램, 운영체제를 부탁할때 방법이 시스템 콜을 통해서 부탁하는것이다.
Interrupt 코드를 수행하고 CPU 제어권이 운영체제로 넘어가는 순간을 의미
Q. 사용자 프로그램은 I/O 작업에게 직접 전달가능한가 ?
A. 사용자 프로그램은 I/O 작업에게 직접 전달할수없다 그러니 항상 OS를 거쳐서 실행된다
Q. I/O장치가 계속 interrupt를 하면 어떻게될까요?
A. I/O장치가 계속 interrupt를 걸면 CPU에게 오버헤드를 극대화시킬수있다. 그렇기 때문에 I/O Device의 정보를 Local Buffer가 갖고있다가 DMA Controller에게 memory를 copy할수있게 해준다. 또한 DMA Controller는 interrupt를 올릴수있다. 이를 통해 interrupt 빈도수를 낮출수있다고 생각할수있다.
Q. 시스템 콜의 목적은 무엇인가요?
A. 다시 말해 시스템콜은 사용자 프로그램의 요쳉에따라 커널에 접근하기위한 인터페이스 = 사용자와 커널사이의 통로
유저 프로세스와 시스템이 소통할수있는 소통수단.
커널에 접근하는 이유는 운영체제의 서비스를 사용해야하기때문에
EX) 사용자 프로그램은 I/O 장치를 사용하고싶다 -> 운영체제의 시스템 콜을 거쳐야함
Q. 일부 시스템은 운영체제를 펌웨어에 저장하고 다른 시스템에는 디스크를 저장하는 이유는?
작은 운영체제는 디스크와 파일 시스템같은 기능들을 사용하지 않음 그러나 대형운영체제는 파일관리 시스템을 사용하기때문에 디스크에 저장한다.
출처 : 운영체제 - 반효경(이화여자대학교), Abraham Silberschatz, Peter Baer Galvin, Greg Gagne
'💻Computer Science > 운영체제' 카테고리의 다른 글
| [운영체제] Process 2 [비동기,동기식 입출력과 Scheduling Queue, Thread] (0) | 2024.07.17 |
|---|---|
| [운영체제] Process 1 [프로세스란 무엇인가 ?] (0) | 2024.07.15 |
| [운영체제] 운영체제 구조 - 2 (0) | 2024.07.10 |