활동 목표: 운영체제 학습
활동 결과:
1. 운영체제
운영체제에 대한 내용은 매우 크지만 하나의 포스트로 정리하는 만큼 얕게 배워보려고 한다.
1.1. 운영체제란
운영체제(Operating System)는 컴퓨터 시스템의 핵심적인 소프트웨어로 컴퓨터의 하드웨어를 관리해주는 역할을 한다.
컴퓨터를 키면 가장 먼저 실행되는 프로그램으로 사용자와 컴퓨터 하드웨어 사이의 인터페이스 역할을 한다.
1.2. 운영체제의 종류
운영체제의 종류로는 시장에 따라 임베디드, 서버, 모바일, 데스크탑 으로 나뉘어져 있으며 Windows, Linux, Unix를 보편적으로 사용한다.
Unix는 C언어 기반으로 Windows를 제외한 거의 모든 운영체제를 포괄하고 있다. 대표적으로 macOS, Linux가 있다.
Windows는 편의성으로 인해 가장 높은 점유율을 가지고 있다. 그러나 Unix계열이 아니기에 개발용으로 쓰기 힘들다. 이를 위해 WSL(Windows Subsystem for Linux)라는 시스템을 사용해 윈도우 내부에서 리눅스 우분투 등을 사용할 수 있게 한다.
Linux는 모바일 운영체제인 안드로이드, iOS가 Linux 커널 기반으로 만들어져있다.
커널이란 무엇일까?
1.3. 커널(kernel)
커널이란 운영체제의 핵심적인 부분이다. 메모리 공간에서 가장 중요한 기능을 담당한다. 하드웨어와 가장 가깝게 연결되어 있으며 하드웨어에서 오는 컴퓨터 자원을 관리하고 응용 프로그램 사이에서의 인터페이스를 제공한다.
앞서 설명한 운영체제의 개념과 커널의 개념이 겹친다고 볼 수 있는데, 커널이 운영체제의 핵심적인 부분이기에 그렇게 느껴질 수 있다. 운영체제의 구조를 살펴보자.
1.4. 운영체제의 구조
운영체제의 구조는 인터페이스, System Call, 커널, 드라이버로 구성되어 있다.
1.4.1. 인터페이스
GUI 혹은 CUI(CLI)로 되어 있다. 이를 통해 사용자가 운영체제와 상호작용할 수 있다.
1.4.2. System Call
운영체제가 커널에 접근하기 위한 인터페이스이다.
운영체제에서는 시스템 자원에 무분별하게 접근하는 것을 막기 위해 커널 모드와 사용자 모드(User-mode)를 구분하는데,
제한이 있는 사용자 모드에서 System Call 을 호출하여 하드웨어에 직접 접근할 수 있는 커널 모드로 전환하여 커널이 요청을 받아 처리하고 다시 사용자 모드로 전환된다.
1.4.3. 커널
운영체제의 개념과 겹친다고 볼 수 있을 정도로 운영체제의 핵심 부분이기 때문에 보통 운영체제라고 하면 커널을 의미하여 사용하기도 한다.
1.4.4. 드라이버
드라이버는 하드웨어를 제어하고 운영체제와 상호작용할 수 있도록 하는 소프트웨어이다.
'모각코' 카테고리의 다른 글
[2025 하계 모각코] 모각코 회고 (1) | 2025.08.17 |
---|---|
[2025 하계 모각코] 5회차 결과 - 구조체 (3) | 2025.07.29 |
[2025 하계 모각코] 4회차 결과 - 메모리 구조와 동적 메모리 할당 (2) | 2025.07.24 |
[2025 하계 모각코] 3회차 활동 결과 - C언어 포인터 (3) | 2025.07.22 |
[2025 하계 모각코] 2회차 활동 결과 - C언어 표준과 전처리기(선행처리기) (2) | 2025.07.15 |