운영체제

큰숲백과, 나무를 보지 말고 큰 숲을 보라.

운영체제는 애플리케이션(줄여서 앱)에게 지금 당신이 사용하고 있는 컴퓨터, 노트북 컴퓨터, 스마트폰, 스마트 TV, 테블릿 PC 등을 사용할 수 있게 해주는 것이다.

즉, 지금 이 문서를 보는데 필수불가결한 프로그램의 왕인 것이다.

구조[편집 | 원본 편집]

운영체제의 심장은 커널이라는 프로그램이며 만약 커널에 문제가 생긴다면 블루스크린, 레드스크린, 블랙스크린 등 커널 패닉이라는 현상을 일으킨다.[1]

커널은 프로그램이 실행되는 단위인 프로세스의 실행 시간 비중을 결정하는 프로세스 스케줄링, 가상 메모리 등의 메모리(RAM) 관리, 연산 자원 공유 관리 체계 및 입출력 제어로 구성되어 있다.

커널 외에 사용자와 상호작용을 하고 사람이 내린 명령을 커널로 전달하는 쉘(Shell), 장치의 제어를 담당하는 디바이스 드라이버 및 파일 관리용 파일 시스템 구현 코드 등이 있다. 이것들이 쉘 정도를 제외하고 통째로 합본 형태로 존재하면 모놀리식 커널(Monolithic kernel), 디바이스 드라이버 등이 커널과 완전히 분리된 프로세스로 존재하면 마이크로커널(Micro-kenel)이라고 한다. 극단적으로는 프로세스, 메모리 영역, 파일 데이터 등을 전부 공유 가능한 객체로 보고 자원 관리 기능만 남긴 엑소커널(Exo-kernel) 같은 괴상한 분류도 있으나, 실험적인 부류의 커널이라 대중적으로 쓰이지 않는다. 리눅스가 대표적인 모놀리식 커널이며, 마이크로커널은 QNX 같이 덜 유명한 조립식 구조의 운영체제에서 쓰이는 편이다. 윈도우즈와 macOS의 경우에는 일부 디바이스 드라이버 정도만 커널에서 분리한 혼합형 커널이다.

종류[편집 | 원본 편집]

PC[편집 | 원본 편집]

모바일 및 임베디드[편집 | 원본 편집]

그외[편집 | 원본 편집]

점유율[편집 | 원본 편집]

현재 세계에서 가장 많이 쓰이는 PC 운영체제는 윈도우로 사실상 독식을 했다.

하지만 임베디드 전자기기와 서버용으로는 윈도우보다 커스텀이 쉬운 리눅스 계열 운영체제가 압도적으로 더 많이 쓰인다. 그래서 IT기기를 통틀어 종합적으로는 리눅스계 운영체제의 판정승이다. 물론 극단적으로 사양을 낮추면 리눅스로도 어림 없고, RTOS라고 극도로 단순화하여 실시간 데이터 처리를 가능하게 한 전용 운영체제 종류를 쓴다.

  1. 참고로 커널은 프로그램의 실행 단위인 프로세스가 아니다. 프로세스는 독립적인 가상 메모리 공간을 가지고 코드 및 데이터의 실행 흐름을 구분하는 개념인데 커널은 각 프로세스의 가상 메모리 영역 내에 따로 공간을 차지하여 접붙인 형태로 존재하기 때문이다.