Skip to content

Commit 459f1f1

Browse files
committed
docs: 운영체제 1
- 운영체제가 컴퓨터 시스템에서 수행하는 핵심적인 역할과 목적을 이해합니다.
1 parent 8190f1b commit 459f1f1

File tree

2 files changed

+127
-0
lines changed

2 files changed

+127
-0
lines changed

docs/운영체제/01.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
sidebar_position: 1
3+
title: 운영체제의 개요
4+
description: 운영체제가 컴퓨터 시스템에서 수행하는 핵심적인 역할과 목적을 이해합니다.
5+
---
6+
7+
## 1. 운영체제의 정의 및 역할
8+
9+
**운영체제(Operating System; OS)** 는 컴퓨터 하드웨어를 관리하는 소프트웨어로서, 응용 프로그램이나 사용자가 컴퓨터 하드웨어를 편리하고 효율적으로 사용할 수 있도록 시스템 자원(프로세서, 메모리 등)을 관리하고 공통적인 서비스를 제공하는 소프트웨어입니다.
10+
11+
### 주요 역할
12+
13+
- **사용자와 컴퓨터 간의 인터페이스 제공**: 사용자가 복잡한 하드웨어에 직접 접근하는 것을 막고, 다양한 인터페이스(문자 기반, GUI, 터치스크린, 음성 등)를 통해 자원을 이용할 수 있도록 중개자 역할을 합니다. 운영체제는 커널(kernel)과 인터페이스(interface)로 나뉩니다
14+
15+
- **자원 관리**: 컴퓨터 시스템 자원(프로세스, 메모리, 저장장치, 입출력 장치 등)을 응용 프로그램에 효율적으로 배분하고 회수하여 사용자가 원활히 작업할 수 있도록 합니다
16+
17+
- **자원 보호**: 비정상적인 작업으로부터 컴퓨터 자원을 보호합니다
18+
19+
- **하드웨어 인터페이스 제공**: 사용자가 복잡한 과정 없이 다양한 장치를 사용할 수 있도록 일관된 방법으로 하드웨어 사용을 지원합니다
20+
21+
## 2. 운영체제의 목표
22+
23+
운영체제의 역할은 다음과 같은 목표를 달성하기 위함입니다.
24+
25+
- **효율성**: 자원을 효율적으로 관리하여 더 많은 작업량을 처리하거나, 같은 작업량 처리하는 데 더 적은 자원을 사용합니다
26+
- **안정성**: 작업을 안정적으로 처리하고, 시스템 문제 발생 시 이전으로 복구하는 결함 포용 기능을 수행합니다
27+
- **확장성**: 다양한 시스템 자원을 컴퓨터에 추가/제거하기 편리하게 합니다
28+
- **편리성**: 사용자가 편리하게 작업할 수 있는 환경을 제공합니다
29+
30+
### 성능 평가 기준
31+
32+
- **처리능력(throughput)**: 주어진 단위 시간 안에 처리할 수 있는 일의 양
33+
- **반환시간(turn around time)**: 작업을 시작해서 처리가 완료될 때까지 걸리는 시간
34+
- **사용 가능성(availability)**: 시스템을 사용해야 할 때 즉시 사용 가능한 정도
35+
- **신뢰성(reliability)**: 주어진 작업을 정확하게 해결하는 정도
36+
37+
## 3. 운영체제의 구성 요소
38+
39+
운영체제는 크게 **커널(kernel)****인터페이스(interface)** 로 구성됩니다.
40+
41+
### 커널
42+
43+
**커널**: 운영체제의 핵심 기능을 모아놓은 것으로 모든 컴퓨터 자원을 관리하며, 사용자나 응용 프로그램은 커널을 통해서만 컴퓨터 자원에 접근할 수 있습니다.
44+
45+
**커널의 역할**: 프로세스 관리, 메모리 관리, 파일 시스템 관리, 입·출력 관리, 프로세스 간 통신 관리 등을 담당합니다
46+
47+
**커널의 종류**: 단일형 구조(monolithic architecture), 계층형 구조(layered architecture), 마이크로 구조(micro architecture) 등이 있습니다
48+
49+
### 인터페이스
50+
51+
**인터페이스**: 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할을 합니다. 대표적으로 그래픽 사용자 인터페이스(GUI)가 있습니다
52+
53+
**시스템 호출(System Call)**: 커널이 자신을 보호하기 위해 만든 인터페이스로, 응용 프로그램이 하드웨어 자원에 접근하거나 운영체제가 제공하는 서비스를 이용할 때 사용해야 합니다
54+
55+
**디바이스 드라이버(Device Driver)**: 커널과 하드웨어의 인터페이스를 담당하며, 하드웨어를 일관된 방법으로 사용할 수 있도록 지원합니다
56+
57+
## 4. 운영체제의 발전 과정 (역사)
58+
59+
운영체제는 컴퓨터와 주변기기의 발전에 따라 진화해 왔습니다.
60+
61+
### 세대별 발전 과정
62+
63+
- **1세대 (1940년대)**: 운영체제 없음. 기계어 직접 사용. 진공관 사용. 유사한 작업을 모아 처리하는 방식 (최초의 방식)
64+
65+
- **1.5세대 (1950년대)**: 일괄 작업 시스템(Batch Job System): 카드 리더, 라인 프린터 사용. 천공카드로 프로그램 입력. 프로그램과 데이터를 동시에 입력해야 작업 가능. 작기는 하지만 운영체제가 사용되어 메인 메모리가 운영체제 영역과 사용자 영역으로 나뉨
66+
67+
- **2세대 (1960년대 초반)**: 대화형 시스템(Interactive System): 키보드, 모니터 등장. 작업 중간에 입력, 중간 결과 확인 가능
68+
69+
- **2.5세대 (1960년대 후반)**: 다중 프로그래밍(Multiprogramming) 및 시분할 시스템(Time Sharing System): C 언어 개발. 하나의 CPU로 여러 작업을 동시에 실행하는 기술. CPU 사용 시간을 잘게 쪼개어 여러 작업에 나눠주어 동시에 처리하는 것처럼 보이게 함
70+
71+
- **3세대**: 1, 2세대가 혼합된 다중 모드(multi-mode) 시스템
72+
73+
- **4세대 (1970년대 - 현재)**: 분산 처리 시스템(Distributed Processing System): PC 등장. 여러 대의 컴퓨터가 작업을 나누어 처리하고 결과를 통신망을 이용해 상호 교환. 값이 싸고 크기가 작은 컴퓨터를 하나로 묶어서 대형 컴퓨터의 능력에 버금가게 만든 것
74+
75+
### 최신 기술
76+
77+
- **클라이언트/서버 시스템**: 작업을 요청하는 클라이언트와 요청받은 작업을 처리하는 서버의 이중 구조. 웹 시스템 보급 이후 확산
78+
79+
- **P2P 시스템**: 클라이언트/서버 시스템의 서버 과부하를 해결하기 위해 사용자와 사용자를 직접 연결하는 시스템 (예: 메신저, 토렌트). 블록체인은 서버가 없는 완전한 P2P 시스템입니다
80+
81+
- **클라우드 컴퓨팅**: 하드웨어와 소프트웨어를 중앙 시스템에 숨기고 사용자가 필요한 서비스만 이용하는 컴퓨팅 환경
82+
83+
- **사물 인터넷(IoT)**: 다양한 사물이 센서와 통신 기능을 내장하여 스스로 통신하며 지능적인 서비스를 제공하는 기술
84+
85+
## 5. 주요 운영체제의 종류
86+
87+
### DOS (Disk Operating System)
88+
89+
1981년 Microsoft에서 IBM-PC를 위해 개발. 단일 사용자용을 위한 운영체제이며 메모리 관리 능력의 한계가 있습니다.
90+
91+
### 유닉스(UNIX)
92+
93+
1970년대 초 AT&T 벨 연구소에서 개발. 이식성이 뛰어나 인기를 얻었으며, 현재 스마트폰, PC, 서버 시스템, 슈퍼컴퓨터 등 광범위하게 사용됩니다. 다중 사용자(multi-user), 다중 작업(multi-tasking)을 지원합니다.
94+
95+
**구조**: 커널, 시스템 호출, 쉘(Shell)로 구성
96+
97+
**파일 시스템**: 계층적 트리 구조로 이루어져 있으며, 일반 파일, 디렉터리 파일, 특수 파일로 나뉩니다
98+
99+
### 리눅스(Linux)
100+
101+
1991년 리누스 토발스(Linus Torvalds)가 개발한 유닉스 호환 커널을 기반으로 한 공개용 운영체제. 멀티유저, 멀티태스킹을 지원하는 유닉스(Unix)와 유사한 운영체제입니다. 안정성, 보안성, 신속한 기능 보강이 가능합니다.
102+
103+
### Mac OS
104+
105+
애플이 자사 PC를 위해 개발한 운영체제. 마우스를 이용하는 그래픽 사용자 인터페이스(GUI)를 처음 도입했다는 것이 강점입니다.
106+
107+
### 윈도우(Windows)
108+
109+
마이크로소프트가 애플 Mac OS의 GUI에 자극받아 출시. 안정적이고 표준화된 그래픽 사용자 인터페이스(GUI)를 지원하며, 멀티태스킹이 가능합니다.
110+
111+
### 모바일 운영체제
112+
113+
#### iOS
114+
115+
애플에서 개발한 유닉스 계열의 클로즈드 소스 운영체제로, GPS, 자이로스코프 센서 등 스마트폰 하드웨어 접근 및 관리를 담당하는 코어 프레임워크를 지원합니다.
116+
117+
#### 안드로이드(Android)
118+
119+
구글이 주도하는 오픈 핸드셋 얼라이언스(Open Handset Alliance)가 설계한 스마트폰 및 태블릿용 운영체제. 리눅스 커널과 자바를 사용해 호환성이 뛰어나며 오픈 소스 소프트웨어입니다.

docs/운영체제/_category_.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"label": "운영체제",
3+
"position": 10,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "운영체제의 기본 개념을 이해하고, [ 운영체제의 기본 구조, 프로세스 관리, 메모리 관리, 파일 관리, 입출력 관리 ] 등을 학습하여 운영체제가 응용 소프트웨어와 상호작용하는 구조를 이해합니다."
7+
}
8+
}

0 commit comments

Comments
 (0)