RECENT POSTS

최근에 작성한 글

01 / 03

전체 글

전체 보기

[Linux] 리눅스 이해하기

1. 운영체제란

부팅(Booting)
: 컴퓨터가 운영체제를 초기화하는 과정

운영체제(Operating System)
: 컴퓨터나 스마트폰 같은 시스템에서 하드웨어와 소프트웨어 자원을 관리하는 시스템 소프트웨어

→ 다양한 하드웨어에서 작동하며, 여러 애플리케이션이 실행될 수 있는 환경을 제공한다.

 소프트웨어 분류

1. 시스템 소프트웨어
컴퓨터의 기본 기능을 지원하고 관리하는 소프트웨어
→ 운영체제, 장치 드라이버

2. 응용 소프트웨어
특정 목적에 맞는 기능을 제공하는 소프트웨어
→ 웹 브라우저, 엑셀 등

 

1-1. 운영체제의 구성 요소

1️⃣ 커널(Kernel)

하드웨어를 초기화하고 사용할 수 있게 하는 운영체제의 핵심 부분이다.

커널은 다음과 같은 주요 기능을 담당한다:

  • 메모리 관리
  • 프로세스 관리
  • 네트워크 연결
  • 시스템 자원 제어

즉, 여러 소프트웨어가 운영체제 위에서 안정적으로 실행될 수 있도록 돕는 역할을 한다.

2️⃣ 장치 드라이버(Device Driver)

그래픽 카드, 랜 카드, 디스크, 마우스, 키보드 등과 같은 하드웨어 장치를 초기화하고
운영체제와 장치 사이의 통신을 담당하는 소프트웨어이다.

3️⃣ 파일 시스템(File System)

HDD, SSD 같은 저장 장치에 파일을 저장하고 관리하는 시스템이다.

대표적인 파일 시스템:

  • FAT → Windows
  • NTFS → Windows
  • EXT4 → Linux
  • XFS → Linux
  • ZFS → Solaris

4️⃣ 네트워크 시스템

네트워크 드라이버
유선 랜, 와이파이, 블루투스 등 네트워크 장치를 초기화하는 드라이버

네트워크 스택
네트워크 장치를 통해 들어온 트래픽을 처리하는 프로토콜 구현 소프트웨어

네트워크 프로토콜
네트워크에서 데이터를 주고받기 위한 통신 규약

2. 운영체제의 역할

1️⃣ 프로그램 실행과 멀티태스킹

운영체제에서 프로그램을 실행하면 실제 실행은 CPU가 담당한다.

  1. 디스크에 저장된 실행 파일이 메모리에 적재된다.
  2. CPU는 메모리에 적재된 코드를 읽어 실행한다.

이렇게 실행 중인 프로그램을 프로세스(Process)라고 한다.

프로세스 스케줄링

프로세스 스케줄링
여러 프로세스 중 하나를 선택해 CPU가 실행하도록 하는 것

스케줄링 알고리즘
어떤 프로세스를 실행할지 결정하는 방식

프로세스 스케줄러
스케줄링을 담당하는 주체

멀티태스킹
여러 프로세스를 번갈아 실행하여 동시에 실행되는 것처럼 보이게 하는 방식

2️⃣ 인터럽트 처리

인터럽트(Interrupt)
하드웨어가 소프트웨어에 보내는 신호

운영체제는 현재 작업을 중단하고 인터럽트를 처리할 수 있어야 한다.

3️⃣ 메모리 관리

운영체제는 프로그램이 충돌 없이 실행되도록 메모리를 효율적으로 관리해야 한다.

4️⃣ 사용자 인터페이스 제공

사용자 인터페이스(UI)
사람이 컴퓨터 시스템을 사용하는 방법

운영체제는 사용자 인터페이스를 제공하고, 사용자는 이를 통해 시스템과 상호작용한다.

GUI (Graphical User Interface)
그래픽 기반 인터페이스

CLI (Command Line Interface)
텍스트 기반 명령어 인터페이스

'개발 공부 > Linux' 카테고리의 다른 글

[Linux] 사용자와 사용자 그룹  (0) 2026.03.01
[Linux] 파일과 디렉터리  (0) 2026.03.01
[Linux] 셸(2)  (0) 2026.03.01
[Linux] 셸(1)  (0) 2026.03.01
[Linux] 리눅스 소개  (0) 2026.03.01