1. 개념
컴퓨터 구조
하드웨어와 소프트웨어로 구분
1). 하드웨어: 모니터, 본체(CPU, 메모리 등)등의 물리적인 장치
2). 소프트웨어: 시스템에서 특정 작업을 수행하게 하는 프로그램의 집합
(1). 운영체제
①. 커널(Kernel): 운영체제의 핵심 기능부, 컴퓨터 자원들을 관리
②. 시스템 프로그램: - 사용자와 컴퓨터가 소통할 수 있도록 해석하는 프로그램
- 대표적으로 쉘(Shell)이라는 명령어 해석기가 존재
(2). 응용프로그램
.
.
.
배포판
- 운영체제와 유사한 의미로 사용됨
- 리눅스 계열의 운영체제들을 대체하여 사용되는 용어
- 커널과 함께, 시스템 프로그램과 쉽게 설치할 수 있는 기능까지 제공하는 것
(리눅스 커널을 포함한 운영체제, 리눅스에 한해 사용됨)
정리
- 리눅스는 오픈소스
- 리눅스 커널을 사용하는 과정에서, 모든 사용자들이 자신의 필요에 맞게 형태를 바꿈
- 이 과정을 통해 '배포' 하는 사례가 생김 (우분투, 레드햇 등)
- 운영체제 ≒ 배포판 ⊃ 커널
2. 리눅스 커널 구조
1). 커널의 역할
(1). 사용자가 하드웨어에 접근 및 사용할 수 있도록 매개
(2). 하드웨어와 추상화 자원들을 관리
- 추상화 자원이란 하나뿐인 하드웨어를 여러개처럼 보이도록 하는 기술
- 메모리 관리, 파일 시스템, 프로세스 관리, 디바이스 제어 등
물리적자원 | → |
추상화자원 |
CPU(프로세스) | Task | |
메모리 | Page, Segment | |
디스크 | 파일(File) | |
네트워크 | 소켓(Socket) | |
각종 외부장치 | 디바이스 드라이버(Devixe Driver) |
'프로그래밍 기초 > 기초문법' 카테고리의 다른 글
Math 함수 (0) | 2023.09.11 |
---|---|
리눅스 기초, 명령어 (0) | 2023.09.04 |
splice (0) | 2023.08.23 |
map, reduce (0) | 2023.08.09 |
따옴표, 백틱(backtick, `) (0) | 2023.08.08 |