2025.05.22
ICT 인프라 관련 CS 정리

운영체제(OS:Operating System)
- 컴퓨터 하드웨어와 소프트웨어를 관리하고, 사용자가 자원에 접근할 수 있게 하는 소프트웨어
- CPU, 메모리, 저장 장치와 같은 자원을 할당하고, 애플리케이션과 하드웨어 간의 상호작용을 중개하는 역할
- 컴퓨터에서 애플리케이션이 원활하게 작동할 수 있도록 CPU, 메모리, 스토리지 등을 효율적으로 할당
커널(Kernel)
- 운영체제의 핵심 요소
- 하드웨어와 애플리케이션 소프트웨어 간의 인터페이스를 제공
- 메모리 관리, 프로세스 관리, 파일 시스템, 장치 제어 등의 역할을 담당
- 운영 체제의 핵심 기능을 맡아 자원을 어떻게 사용할지 결정하고, 효율적으로 운영되도록 돕는다.
쉘(Shell)
- 사용자가 운영 체제와 상호 작용할 수 있도록 돕는 인터페이스
- 사용자가 입력한 명령을 커널에 전달하고, 결과를 다시 사용자에게 보여주는 역할
- GUI(그래픽 인터페이스)와 CLI(명령어 인터페이스) 형태로 제공될 수 있다.
현재 GUI가 워낙 잘 발달되어 있어 이를 쉘이라 인지하지 못하고 오직 CLI 형태만 쉘이라고 착각할 수 있다.
프로그램
- 실행 가능한 명령어의 집합(Set of executable instructions)을 의미
- .exe, .dmg 와 같은 형태로 HDD 나 SSD, USB 와 같은 저장 장치에 저장되어 있다.
- 핵심은 저장만 되어 있고 아직 실행하지 않아 RAM에 적재되어 있지 않은 정적인 상태
프로세스
- 실행중인 프로그램 -> 동적인 상태의 프로그램
- 컴퓨터의 RAM에 프로그램의 명령어들이 적재된 상태 -> 프로그램은 저장 장치에 프로세스는 메모리에 존재
스레드
- 프로세스가 할당받은 자원을 직접 사용하는 실행 단위 / 프로세스 내 실행되는 다수 흐름의 단위
- 프로세스는 최소 한 개 이상의 스레드를 가지게 되며, 이 최초의 스레드를 주로 메인 스레드(main thread)라고 부른다.
- 프로세스 내에서 작업을 분할하고 동시에 실행할 수 있도록 돕는 실행 단위