티스토리 뷰

OS

커널의 기능들 - 2

LDobac 2017. 2. 8. 23:25

이번 포스팅엔 저번 커널의 기능들 - 1 에서 이어집니다.



커널의 기능들

장치 관리(Device mangement)

프로그램이 유용한 기능을 수행하려면 프로세스가 컴퓨터에 연결된 주변 장치에 접근을 해야 하며, 그 장치들은 장치 드라이버를 통해 커널이 제어를 합니다.

장치 드라이버는 운영 체제가 하드웨어 장치와 상호 작용 할 수 있게 해주는 컴퓨터 프로그램입니다. 장치 드라이버는 운영 체제 에게 하드웨어에 대한 정보와 그 하드웨어와 통신 할 수 있는 방법을 제공합니다.

드라이버는 응용 프로그램에게 중요한 부분입니다.

드라이버의 최종적인 목표는 추상화 하는 것입니다.

드라이버의 기능은 프로그램에서 기능을 호출 하면 장치의 신호로 변환 하는 것 입니다. 이론상으로는 장치가 적합한 드라이버로 올바르게 작동 해야 합니다.

장치 드라이버는 비디오 카드, 사운드 카드,프린터, 스캐너, 모뎀, 랜카드 등에서 사용됩니다.

장치 드라이버의 일반적인 추상화 수준은 다음과 같습니다


1. 하드웨어의 측면

직접 접근 (Interfacing Directly)

높은 레벨의 인터페이스 사용 (Using a high level interface)

낮은 레벨의 장치 드라이버 사용 (Using a lower-level device driver)

전혀 다른일을 하면서 하드웨어로 작업을 시뮬레이션 (Simulating work with hardware, while doing something entirely diffrernt)


2. 소프트웨어에서의 측면

운영 체제가 하드웨어 리소스에 직접 접근 하도록 허용 (Allowing the operating system direct access to hardware resources.)

프리미티브만 구현 ( Implementing only primitives.)

비 드라이버 소프트웨어 용 인터페이스 구현(Implementing an interface for non-driver software)

언어 구현, 때때로는 상위 레벨의 언어 구현 (Implementing a language, sometimes high-level)


예를 들어, 사용자가 화면에 무언가을 띄우려고 할 때, 응용 프로그램은 커널에게 요청을 보내 디스플레이 드라이버에 저러한 요청을 전달 합니다. 그러면 디스플레이 드라이버는 화면에 문자, 픽셀을 출력합니다.


커널은 사용 가능한 장치를 유지 하고 있어야만 합니다.

이러한 장치들은 유저에게 설정되거나 운영 체제가 작동중에 감지됩니다.(이러한 행동을 Plug and Play 라고 합니다)(오역)

플러그 앤 플레이 시스템 에서는 장치 매니저는 먼저 PCI나 USB같은 다양한 하드웨어 버스에서 스캔을 실시하여 설치된 장치를 감지 한 후 다음 적절한 드라이버를 검색합니다.


장치 관리는 OS마다 특별한 주제이기 때문에, 이러한 드라이버들을 관리 하는것은 커널의 디자인에 따라서 달라집니다. 하지만 많은 경우에도 커널은 드라이버가 물리적으로 그들의 장치에 접근 하려고 할때 일부의 포트나 메모리 공간을 제공 해 줍니다.


시스템 호출 (System Calls)

컴퓨팅에서 시스템 호출은 운영 체제의 커널에서 실행 권한이 없는 서비스를 프로그램이 요청하는 방식입니다.

시스템 호출은 운영 체제와 프로세스 사이의 인터페이스를 제공 하여 줍니다.

시스템과 상호 작용 하는 대부분의 작업은 사용자 수준의 프로세스 에서는 사용 할 수 없는 권한이 필요 합니다. 예를 들어 시스템에 있는 장치로 수행되는 입출력 또는 다른 프로세스 와의 시스템 호출이 필요합니다.


시스템 호출은 응용 프로그램이 운영 체제에서 서비스를 요청하는데 사용되는 메커니즘 입니다.

프로세서가 모드를 변경하기 하는 기계어를 이용합니다.(오역, 원문 : They use a mechine-code instruction that causes the processor to change mode.)

예를 들어 슈퍼 바이저 모드에서 보호 모드(protected mode)로 변경 될 수 있습니다.

보호 모드는 운영 체제가 하드웨어 장치에 접근 또는 메모리 관리 작업을 수행 하는곳 입니다.

일반적으로는 운영 체제는 일반 프로그램과 운영 체제 사이에서 작업 할 수 있게 라이브러리를 제공 합니다, 예를 들어 윈도우즈API처럼 말이죠

라이브러리는 정보를 커널로 전달하고 슈퍼바이저 모드로 전환하는 낮은 레벨의 세부적인 사항을 처리 합니다.

시스템 호출은 닫기(Close), 열기(Open), 읽기(Read), 쓰기(Write), 대기(wait)등을 포함합니다.


실제로 유용한 작업을 수행 하려면, 프로세스는 커널이 제공하는 서비스에 접근 할 수 있어야 합니다. 

이러한 부분은 커널마다 다르게 구현이 되지만, 대부분은 C 라이브러리나 API를 제공하여 처리 하도록 합니다.


이번 포스팅은 여기 까지 입니다.

번역을 잘 못하기도 하고 변역체 이다 보니 줄마침이 맞지 않는 혼종이 탄생하였습니다.

'OS' 카테고리의 다른 글

프로세스란 무엇인가  (1) 2017.02.09
커널의 종류  (0) 2017.02.08
커널의 기능들 - 1  (0) 2017.02.07
운영체제란?  (0) 2017.02.07
CPU Register  (0) 2016.04.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함