본 포스팅은 운영체제 스터디를 진행하면서 배운 내용에 대해 정리해둔 공간입니다.
용어 개념 정리 부분은 강의를 수강하면서 기억이 잘 나지 않은 개념들에 대해서 간략하게 정리한것 입니다 ㅎ
용어 개념 정리
- Interrupt
- CPU가 프로그램 실행 중, HW 또는 장치에 예외가 발생하여 처리가 필요할 때 발생
- 종류
- HW Interrupt
- CPU가 아닌 다른 HW가 CPU에 정보를 주거나 CPU 서비스를 요청할 경우 발생
- SW Interrupt
- SW가 인터럽트 라인을 세팅
- 예시) 예외 상황 발생, System call
- Address Bus
- CPU로부터 메모리로 데이터의 소재를 표시하는 주소를 보내거나 I/O 포트로 포트 번호를 보내주는 버스
- 일정한 메모리 번지를 찾을 때 신호를 운번하는 버스
- Data Bus
- MMU
- CPU가 메모리에 접근하는 것을 관리하는 HW 부품
- 가상 메모리 주소를 실제 메모리 주소로 변환
- 메모리 보호, 캐시 관리, 버스 중재 등의 역할 담당
이중 모드(Dual Mode)
- 한 컴퓨터를 여러 사람이 동시에 사용하는 환경
- 한 사람의 영향이 컴퓨터에 큰 문제를 일으킬 수 있다.
- 예시) stop 명령어를 한명의 사용자가 수행한다면 CPU가 꺼지게 되는데 이때 여러 명이 사용한다면 큰 문제가 발생할 수 있다.
- 위 문제를 막기위해 CPU 동작하는 모드를 사용자(User), 관리자(Supervisor) 모드로 나뉘게 된다.
- 레즈스터에 모드를 나타내는 플래그(flag)를 사용하여 OS의 모드를 구분
- 관리자 모드
- 운영체제 서비스 실행 시
- HW/SW 인터럽트 발생시
- 사용자 모드
- 사용자 프로그램 실행 시
- 운영체제 서비스가 종료 시
- 이중 모드를 통해 HW를 보호한다.
- 입출력장치 보호
- 사용자의 잘못된 입출력 명령(다른 사용자의 입출력 및 정보에 방해를 의미)
- 예시) 프린터 혼선, 리셋, 다른 사람의 파일 Read & Write
- 해결 방법
- 입출력 명령을 특권 명령으로 변경
- 입출력을 하려면 운영체제에게 System Mode 전환 요청(SW Interrupt) 하고, 운영체제가 입출력 대행을 마친 후 다시 User Mode로 전환한다.
- 올바른 요청이 아닐 시, 운영체제가 거부
- 메모리 보호
- 다른 사용자 메모리 또는 운영체제 영역 메모리 접근
- 해결 방법
- MMU(Memory Management Unit)를 두어 다른 메모리 영역 침범을 감시한다.
- CPU 보호
- 한 사용자가 실수 또는 고의로 CPU 시간 독점하는 경우
- 해결법
- Timer를 두어 일정 시간 경과 시 타이머 인터럽트 발생
- 인터럽트 -> OS -> 다른 프로그램으로 강제 전환
복습하게 된 내용
- 컴퓨터를 쉽게 이해하면 CPU, Main Memory, HDD(SSD)
로 구성되어 있다. 컴퓨터를 키게 되면 OS가 Main Memory에 올라가게 된다.
올라가게된 OS는 컴퓨터에 대한 모든 제어권을 가지게 된다.
- HW를 제어하는것은 OS이다.
- System Mode = Kernel Mode