728x90
반응형
SMALL

부팅(booting)

컴퓨터가 작동을 시작하는 과정

  • 메모리와 다른 구성 요소를 점검해서 올바르게 작동하는지 확인
  • 컴퓨터에 어떤 외부 장치가 연결되어 있는지 알아냄
  • 연결된 장치를 운영체제가 사용할 수 있도록 관련된 소프트웨어 구성 요소(드라이버) 로드

시스템 콜(syscall)

애플리케이션이 운영체제 특정 부분에 통제권을 넘겨주는 명령어를 실행하여 서비스를 요청하는 것.

고급 언어로 작성된 프로그램들은 직접 시스템 호출을 사용할 수 없기 때문에 고급 API를 통해 시스템 호출에 접근하게 하는 방법.

시스템 호출의 유형

  1. 프로세스 제어(process control)
  2. 파일 조작(file manipulation)
  3. 장치 관리(device management)
  4. 정보 유지(information maintenance)
  5. 통신(communication)

디바이스 드라이버

운영체제와 프린터 등과 같은 하드웨어 장치 간에 가교 역할을 하는 코드

특정 장치가 어떤 일을 하도록 하는지 알고 있다.

 

예시) 프린터

운영체제는 일반적인 요청을 하고 싶어한다.

예를 들어, 어떤 텍스트를 어떤 위치에 출력하고 이런 것.

하지만 프린터마다 지원하는 기능에 차이가 있다.

컬러, 흑백, 양면, 단면, 종이 크기, 정보를 종이에 옮기는 매커니즘 등.

드라이버는 운영체제의 일반적인 요청을 해당 프린터에 적합한 형태로 변환한다.

 

→ 범용 운영체제에는 많은 디바이스 드라이버가 있다.

부팅 시 현재 필요한 드라이버를 불러오는 작업도 이루어 진다.

디바이스 드라이버, 운영체제, 시스템 콜 인터페이스

 

그림에서 시스템 호출을 *커널을 모두 커버하고 있는데, 시스템 호출을 거치지 않고서는 커널에 접근이 불가능하다는 것을 뜻한다.

드라이버의 경우 커널에서 제공하는 드라이버도 있고 하드웨어에서 제공하는 드라이버도 있어 필수 요소가 아니다.

*커널 - 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아 놓은 것.


다양한 디지털 장치와 운영체제

기술의 발달로 많은 장치의 처리 성능과 메모리 용량이 높아졌다.

디지털 카메라, 휴대폰 등의 기기들을 컴퓨터라고 불러도 이상하지 않다.

 

이러한 기술 발달 덕분에 장치들을 범용 컴퓨터와 비슷한 모습을 띠고 있다.

프로세서 + 메모리 + 주변 장치 등으로 되어 있고,

사용자 인터페이스와 네트워크 연결도 제공한다.

 

이런 추세는 범용 운영체제 사용을 가속화 시킨다.

전용 운영체제 개발보다는 리눅스에서 필요한 부분만 뽑아 쓰는 것이 더 쉽고 저렴하다.

728x90
반응형
LIST

+ Recent posts