1. 컴퓨터 시스템의 기본 구성
컴퓨터 시스템의 4가지 구성요소
- 하드웨어 (CPU, 메모리, I/O장치)
- 운영체제
- 응용 프로그램
- 사용자 (사람, 기계, 컴퓨터)
2. 운영체제의 정의와 하는 일
운영체제의 목적
- 유저 프로그램을 구동, 유저 문제 해결을 쉽게 하기 위함
- 컴퓨터 시스템을 사용하기 쉽게 하기 위함
- 컴퓨터 하드웨어를 효율적으로 사용할 수 있게 하기 위함
운영체제의 구성
- 커널 + 시스템 프로그램으로 구성됨
- 커널 : 컴퓨터에서 항상 실행되는 하나의 프로그램
- 시스템 프로그램 : 모든 프로그램을 포함, 시스템 운영과 관련 있는 응용 프로그램
운영체제가 하는 일
- 리소스 할당의 주체
- 모든 리소스를 관리
- 자원에 대한 충돌되는 요청 사이에서 효율적이고 공정하게 사용 리소스 분배
- 제어 프로그램
- 프로그램 실행을 제어, 오류 및 부적절한 사용 방지
3. 컴퓨터 시스템의 작동
컴퓨터 부팅
- 부트 스트랩(Bootstrap, 부팅)
- PC의 전원 버튼을 누른 직후부터, 운영체제가 메모리에서 동작하기 시작할 때까지의 모든 과정
- 메인보드에 전력 공급
- ROM or EPPROM에 저장된 BIOS 루틴이 시작
- BIOS는 셀프테스트를 통해 주변 하드웨어를 체크
- MBR(Master Boot Record)에 존재하는 부팅정보를 읽어오는 부트스트랩 실행
- RAM에 Bootloader를 적재. 디스크에 있는 OS(커널) 코드를 복사하여 메모리에 적재. 초기화
컴퓨터 시스템 동작 전제
- 입출력 장치, CPU는 동시 실행 가능
- 각 장치 컨트롤러는 특정 디바이스 유형을 담당. 로컬 버퍼 존재
- CPU는 메인 메모리 - 로컬 버퍼간 데이터 이동
- 입출력은 장치에서 컨트롤러의 로컬 버퍼로 전달
- 장치 컨트롤러는 인터럽트를 발생시켜 CPU에 작업 완료를 알림
4. 인터럽트
인터럽트 (Interrupt)
- CPU가 프로그램을 구동 중일 때, 입출력이나 예외 상황이 발생하여 처리가 필요한 경우에 CPU에 신호를 보내는 것
- 하드웨어 인터럽트
- 하드웨어가 발생시키는 인터럽트
- CPU외의 하드웨어가 CPU에게 신호를 보내야 할 경우 발생 (ex : 전원 이상, 외부적 기능 이상 등)
- 소프트웨어 인터럽트
- 소프트웨어가 발생시키는 인터럽트
- 사용자 프로그램이 인터럽트 하는 경우 발생 (supervisor call)
인터럽트 발생 시 시스템 동작
- 인터럽트 발생 : CPU가 수행중인 작업 중지
- 인터럽트 종료 : CPU는 일시 중단되었던 컴퓨팅 재개
- 세부 동작
- 서비스 루틴으로 제어 전송
- 인터럽트에 의해 중단된 명령어 주소를 반드시 저장 (인터럽트 종료 시 다시 돌아오기 위해)
- 인터럽트 서비스 이후, 저장된 복귀 주소를 프로그램 카운터에 적재. 중단된 컴퓨팅 재개
'CS > 운영체제' 카테고리의 다른 글
[운영체제-6] 프로세스 동기화 (0) | 2021.11.10 |
---|---|
[운영체제-5] CPU 스케줄링 (0) | 2021.11.10 |
[운영체제-4] 스레드와 동시성 (0) | 2021.11.09 |
[운영체제-3] 프로세스 관리 (0) | 2021.11.09 |
[운영체제-2] 운영체제 구조 (0) | 2021.11.08 |