본문 바로가기
컴퓨터 사이언스 기초

운영체제

by 대장가장 2023. 4. 11.

• 자원(resource) : 컴퓨터가 동작하기 위해 필요한 모든 것들 ex) CPU, 메모리 등 컴퓨터 내부의 물리적인 부품

 

• 프로세스: 운영체제에 의해 현재 실행 중인 프로그램. 운영체제로부터 자원을 할당 받아 실행됨.

- 싱글 프로세스: 하나의 프로세스만 실행

- 멀티 프로세스: 여러 개의 프로세스가 독립적인 메모리 공간에서 실행

 

• 스레드: 프로세스 내에서 실행되는 작업의 단위. 하나의 프로세스는 하나 이상의 스레드로 이루어져 있음.

- 싱글 스레드: 하나의 작업을 완료할 때까지 다른 작업을 수행하지 않음

- 멀티 스레드: 여러 개의 스레드가 동시에 작업을 수행

 

 

운영체제의 역할

(1) 메모리 관리

- 프로그램이 메모리에 저장되는 주소를 할당

• 가상 메모리

- 프로그램이 실제로 실행되는 부분만 메모리에 저장하여, 물리적인 메모리의 크기보다 큰 프로그램을 실행할 수 있도록 해줌

- 사용자 입장에서는 실제 메모리 크기보다 더 큰 메모리를 사용하는 것처럼 보임

- 페이징은 가상 메모리와 실제 메모리를 관리하는 기법 중 하나임

 

(2) 프로세스 관리

- 프로세스가 실행되는 순서를 관리(프로세스 스케줄링)

• 멀티태스킹(Multitasking)

- 여러 개의 작업을 동시에 실행하는 것

- 프로세스 스케줄링을 통해 멀티태스킹이 가능함

 

(3) 네트워크 자원에 대한 관리

(4) 파일과 디렉터리 생성, 복제, 삭제하는 파일 시스템 관리

(5) 입출력 장치의 관리를 통한 입출력 작업

(6) 사용자 인증, 방화벽 등 보안 및 인증

 

 

커널과 셸

• 커널(Kernel)

- 하드웨어와 소프트웨어의 인터페이스

- 프로세스 스케줄링, 메모리 관리, 입출력 제어 등 운영체제의 핵심 기능 담당

 

• 셸(Shell)

- 커널과 사용자 간의 인터페이스

- 사용자가 입력한 명령어를 해석하여 커널에 전달하고 커널이 실행한 결과는 사용자에게 출력

 

 

리눅스

• GUI(Graphic User Interfave)

- 입출력 등의 기능을 아이콘과 같은 그래픽으로 나타내는 방식

• CLI(Command LIne Interface)

- 터미널에서 명령어를 사용하여 컴퓨터 시스템과 상호작용 하는 방식

 

리눅스는 GUI와 CLI를 모두 지원하지만, 기본적으로 CLI를 통해 작업

 

 

'컴퓨터 사이언스 기초' 카테고리의 다른 글

리눅스 명령어  (2) 2023.04.21
소프트웨어  (0) 2023.04.08
컴퓨터 시스템 구조  (0) 2023.04.08