티스토리 뷰

CS/운영체제

[운영체제] 1. 운영체제와 컴퓨터

개발중인 감자 2023. 10. 21. 22:04

1. 운영체제 (Operating System) 

일반 컴퓨터나 노트북 전원을 키면 가장 먼저 만나게 되는 소프트웨어 

 

필요성 

1) 컴퓨터는 운영체제 없이 작동할까? 가능함. 

2) 운영체제 있는 기계와 없는 기계의 차이는?

* OS 없는 기계 

만들 당시 구현한 기능만을 수행

*OS 있는 기계

컴퓨터 시스템을 사용하기 쉽게하고, 효율적으로 사용할 수 있도록 함. 

 

정의

커널 + 시스템 프로그램

커널 : 컴퓨터에서 항상 실행되는 하나의 프로그램

시스템 프로그램 : 모든 프로그램을 포함한, 시스템 운영과 관련있는 운영 프로그램. 

 

운영체제는 리소스 할당의 주체. 

- 모든 리소스를 관리하고

- 자원에 대한 충돌되는 요청 사이에서 리소스를 효율적으로 분배함. 

 

운영체제는 제어 프로그램임. 

- 프로그램을 제어하고 오류 및 부적절한 사용을 방지함. 

 

컴퓨터 시스템 운영함. 

- 하나 이상의 cpu, 장치 컨트롤러는 공유된 메모리에 대한 접근으 제공하는 공용버스를 통해 연결.

- 메모리를 두고 경쟁하는 cpu와 디바이스 동시 실행.

 

 

 

2. 컴퓨터 시스템의 작동. 

 

부트스트랩 (Bootstrap, 부팅)

- pc의 전원을 누른 직후부터, 운영체제가 메모리에서 동작하기까지의 모든 과정. 

 

1) 메인 보드에 전력 공급

2) CPU가 ROM or EEPROM에 저장된 BIOS 루틴이 시작. 

3) BIOS는 셀프테스트를 통해 주변 하드웨어를 체크

4) MBR(Master Boot Record)에 존재하는 부팅 정보를 읽어오는 부트스트랩 실행.

5) RAM에 Bootloader적재. 디스크에 있는 OS(커널)코드를 복사하여 메모리에 적재. 초기화.

 

메모리 : ROM, RAM(부트 로더, OS 커널 코드 => 실제 OS 역할을 함)

디스크 : MBR, Partition1 ~ N번까지. 

 

 

3. 인터럽트 (Interrupt)

 

cpu가 프로그램을 구동 중일때, 입출력이나 예외사항을 발견하여 처리가 필요한 경우에 cpu에게 신호를 보내는 것. 

=> 처리할게 있을 경우, 이것 좀 처리해줘! 느낌~!

 

하드웨어 인터럽트 

- 하드웨어가 발생시키는 인터럽트.

- cpu외의 하드웨어가 cpu에게 신호를 보내야할 경우 발생.

 

소프트웨어 인터럽트

- 소프트웨어가 발생시키는 인터럽트

- 사용자 프로그램이 인터럽트 하는 경우에 발생. 

- supervisor call (SVC) :

모든 데이터를 삭제할거야! 하는 명령을 사용자가 요구했을 때, OS가 이런 말도 안되는 명령어를 받을 경우 인터럽트 해서 처리.

 

 

인터럽트 발생 / 종료 Flow

 

 

인터럽트 발생 -> CPU가 수행중인 작업 중지. 지정된 위치로 실행위치 변경

인터럽트 종료 -> CPU는 일시 중단되었던 컴퓨팅 재개. 

 

 

4. 기타 키워드 정리 

RAM

- 랜덤 액세스 메모리(Random Access Memory)

- 휘발성 메모리 (한시적으로 저장함)

 

ROM 

- 읽기 전용 메모리 (Read Only Memory)

- 비 휘발성 메모리 (칩에 영구적인 저장) 

 

PC 

- 프로그램 카운터 (Program counter, PC) 

- CPU 내부에 있는 레지스터 중 하나로, 다음에 실행될 명령어의 주소를 가짐. 

 

BIOS (Basic Input/Output System)

- 운영체제 중 가장 기본적인 소프트웨어이자 컴퓨터의 입출력을 처리하는 펌웨어.

- 컴퓨터를 켜면 시작되는 프로그램으로 하드웨어와 소프트웨어의 데이터의 흐름 관리. 

 

MBR 

- master boot record

- 컴퓨터가 부팅될 때 가장 먼저 참조하는 영역.