📕 운영체제란?
운영체제(OS, Operating System)는 컴퓨터의 모든 자원을 관리하고, 사용자와 하드웨어 사이를 연결해 주는 핵심 소프트웨어입니다. 쉽게 말해 사용자가 컴퓨터를 쓸 수 있게 만들어 주는 관리자입니다. 만약 운영체제가 없다면 CPU, 메모리, 디스크를 어떻게 써야 할지 알 수 없고 프로그램을 실행할 방법도 없고 키보드와 마우스를 눌러도 아무 반응이 없는 컴퓨터를 바라보게 될 듯합니다.
🛠 컴퓨터 시스템 간략 구조도
사용자(User)
↓
응용 프로그램(앱, 브라우저, 게임, 엑셀)
↓
운영체제(Windows, Linux, macOS)
↓
하드웨어(CPU, 메모리, 디스크)
운영체제가 하는 일은 무엇일까?
- 하드웨어 관리
- CPU 사용 시간 분배
- 메모리 할당 및 회수
- 디스크, 키보드, 마우스 제어
- 프로그램 실행 관리
- 여러 프로그램을 동시에 실행
- 충돌 없이 돌아가게 조정
- 파일 시스템 관리
- 파일 저장, 읽기, 삭제
- 권한 관리 (읽기/쓰기/실행)
- 사용자 인터페이스 제공
- 우리가 보는 화면(GUI) - 우리가 친숙하게 보는 윈도우
- 터미널 같은 명령줄(CLI) - cmd.exe
참고 우리 쓰는 아이펠 LMS → CLI 셸
운영체제 중 커널(Kernel)이란?
커널이란 운영체제의 핵심 부분입니다. 시스템의 최상위 권한을 가지고 있어 하드웨어를 직접 제어하고, 시스템 자원을 관리합니다.
운영체제에서 유일하게 하드웨어를 직접 접근하고 응용 프로그램이 원활하게 실행될 수 있도록 관리합니다.
- CPU 관리 - 어떤 프로그램이 언제 CPU를 쓸지 결정
- 메모리 관리 - 프로그램마다 메모리 할당
- 프로세스 관리 - 프로그램 실행 및 종료
- 파일 및 디바이스 관리 - 디스크 읽기/쓰기, 디바이스 장치 제어
- 보안과 권한 - 사용자 권한 확인,
sudo같은 권리자 권한 통제
운영체제 중 셸(Shell)이란?
셸이란 사용자의 명령을 받아 커널이 이해할 수 있는 형태로 전달합니다. 사용자와 운영체제 간의 인터페이스 역할을 하고 사용자가 셸을 통해 운영체제에게 명령하며 작업을 수행할 수 있습니다.
- 명령 해석 -
ls,grep,chmod같은 명력을 해석 - 프로그램 실행 - 명령을 프로세스로 실행해 달라고 커널에 요청
- 입출력 제어 - 파이프(
|), 리다이렉션(>,<) 처리 - 환경 관리 - 환경 변수, 스크립트 실행
프로세스(Process)란?
실행 중인 프로그램을 의미합니다. 프로그램을 실행하면 프로세스가 됩니다. 각 프로세스는 자기만의 메모리 공간을 가집니다.
스레드(Thread)란?
프로세스 안에서 실제로 일하는 작업 단위입니다. 하나의 프로세스 안에 여러 개 존개가 가능합니다. 프로세스는 운영체제가 메모리를 할당하는 작업단위라면, 스레드는 프로세스가 할당받은 메모리를 활용하는 실행 단위입니다.
📘 리눅스란?
리눅스(Linux)는 1991년 리누스 토르발즈(Linus Benedict Torvalds)라는 학생에 의해 만들어졌으며, 유닉스(Unix) 철학을 기반으로 만들어진 오픈소스 운영체제입니다.
리눅스의 가장 큰 장점?
리눅스는 누구나 무료로 사용·수정·배포할 수 있는 운영체제이며, 안정성과 확장성이 가장 큰 강점입니다.
리눅스 기반 운영체제
터미널(Terminal)이란?
- 컴퓨터와 직접 문자로 소통하던 ‘입력·출력 장치’
- 예전에는 키보드+화면이 붙은 물리장치
- 서버에 연결해서 문자만 주고받음
- 계산 능력은 없고 입출력만 담당
터미널 에뮬레이터(Terminal Emulator)이란?
- 터미널을 소프트웨어로 흉내 낸 프로그램
- 실제 우리가 LMS에서 쓰고 있는 터미널이 터미널 에뮬레이터
- 키보드 입력을 받아 화면에 문자 출력을 하는 옛날 터미널 같은 우리가 실제 사용하는 프로그램
❤️ 리눅스 명령어
echo: 뒤이어 입력한 내용을 출력합니다.cat: 하나 이상의 텍스트 파일을 순서대로 출력합니다.ls: 현재 디렉터리 내의 파일 및 폴더들을 출력합니다.cd: Change Directory의 약자로, 뒤에 따라오는 폴더로 내가 있는 셸의 현재 위치를 이동시킵니다.cp: 파일을 복사합니다.mv: 파일을 이동합니다.rm: 파일을 삭제합니다. 폴더를 삭제하기 위해서는 -r (recursive) 옵션을, 빈 폴더가 아니더라도 내부까지 삭제하려면 -f (force) 옵션을 함께 사용해야 합니다.sudo: 이어지는 명령을 최고 관리자 권한으로 실행합니다.apt-get: APT 패키지 관리자를 통해 공인 저장소에서 패 키지를 가져다 설치하거나 제거합니다.ssh: 원격으로 셸에 접속합니다.
👍 리눅스 명령어
history: 셸 명령어 이력을 출력합니다.man: 프로그램의 매뉴얼 페이지를 출력합니다.sort: 입력된 텍스트를 줄 단위로 정렬합니다.less: 텍스트 파일의 내용을 자유롭게 조회하고 검색합니다.head: 텍스트 파일의 앞 몇 줄만 출력합니다.tail: 텍스트 파일의 마지막 몇 줄만 출력합니다.cut: 텍스트를 구분자(delimiter)에 따라 나눕니다.uniq: 텍스트 중 중복 값들을 제거합니다.grep: 정규식을 활용해 텍스트를 검색합니다.wc: 텍스트를 단어, 줄, 문자 등 단위로 셉니다.chown: 대상 파일의 소유 사용자와 그룹을 변경합니다.chmod: 대상 파일의 권한을 변경합니다.find: 파일을 찾습니다.pwd: Present Working Directory의 약자입니다. 현재 내가 위치한 디렉터리 위치를 출력합니다.ps: 현재 프로세스 목록을 출력합니다.kill: PID에 해당하는 프로세스에 시그널을 보냅니다.tmux: 여러 개의 셸 세션을 관리하고, 터미널 접속이 끊어지더라도 셸 세션을 유지합니다.watch: 이어지는 명령을 주기적으로 실행하여 표시합니다.curl: 주어진 URL과 통신합니다.wget: 네트워크를 통해 파일을 다운로드합니다.scp: SSH를 통해 원격으로 파일을 전송합니다.
'IT' 카테고리의 다른 글
| 파이썬 람다, 일급 객체 (1) | 2026.04.11 |
|---|---|
| 파이썬 함수, 리스트, 딕셔너리 (0) | 2026.04.10 |
| 파이썬 변수, 연산자, 조건문, 반복문 (0) | 2026.04.10 |
| 파이썬(python)이란 무엇인가, 파이썬의 자료형 (1) | 2026.04.10 |
| 깃(Git)과 깃허브(GitHub)? (1) | 2026.04.08 |