운영체제 용어 정리
date
Apr 5, 2022
slug
os-overview
status
Published
tags
computerengineering
os
operatingsystem
summary
프로세스마다 최소 스레드 (프로세스 내에서 작동하는 최소 단위) 1개는 만들어진다.
type
Post
프로세스
프로그램
이 메모리에 적재된 상태 (즉, 현재 실행 중인 프로그램
):= task
와 거의 같은 의미로 쓰임
프로세스
마다 최소스레드
(프로세스 내에서 작동하는 최소 단위) 1개는 만들어진다.
- PCB에 정보가 있어 Context Switching에 상태 저장
커널
SW와 HW간에 커뮤니케이션을 관리
- kernal = OS의 핵심
- OS의
보안
,자원관리
,추상화
등을 책임짐
자원관리
- 프로세서 관리
- 프로세스 관리
- 메모리 관리
- 파일 시스템 관리, 디바이스 제어, 네트워크 관리 등
메모리
각 프로세스는 독립된 메모리 공간을 가진다. 다른 프로세스는 넘보지 못하기 때문에 운영체제만 메모리를 관리 가능.
- 멀티프로그래밍에서 한정된 메모리를 효율적으로 사용하는 것이 중요
Swapping
,단편화 현상
,Paging
등
프로세스 상태
프로세스가 실행되고 끝날때까지를 상태로 표현
- 가-장 유명한 5-state-model
스레드, 멀티스레드
스레드 : 프로세스보다 낮은 실행 단위
- 싱글스레드 : 스레드가 한개
- 멀티스레드 : 스레드가 여러개
- 물론 멀티 스레드를 할때 성능과 속도의 이점을 볼 수 있음
cpu
컴퓨터의 뇌
ALU
,CU
,Register Set
,Bus Interface
로 구성
- 커널에서 배정한 프로세스 연산을 수행하는 커널모드와 응용 프로그램에서 사용하는 유저모드가 있다.
다중프로그래밍, 다중 처리 시스템
메모리에 여러개의 프로그램을 상주시키는 다중프로그래밍
복수의 CPU를 사용하는 다중 처리 시스템이다.
- 다중프로그래밍
- 하나의 작업으로 CPU 사용 중 입출력으로 CPU를 사용하지 않을 때 다른 작업에 CPU 할당하여 효울 극대화.
- 메모리 관리 기법이나 CPU 스케줄링 기법 필요
- 장점 : 동시에 여러 프로그램 실행시켜 처리 능력이 좋음
- 단점 : 여러 프로그램을 관리하기 때문에 OS 구조가 복잡해짐
- 다중 처리 시스템
- 복수의 CPU를 사용하여 다중 작업 처리.
- CPU에 장애가 발생해도 여분의 CPU를 통해 작업 진행
- 장점 : 속도가 빠르고 안정성이 높음
- 단점 : 비용이 비쌈
동시성과 병렬
동시에 실행되는 것 같이 보이는 동시성 vs
실제로 동시에 여러 작업이 처리되는 병렬성
- 동시성
- 동시에 실행되는 것 같이 보이는 것
- 싱글코어에서 멀티 스레드를 동작시키는 방식
- 논리적인 개념
- 병렬성
- 실제로 동시에 여러 작업이 처리되는 것
- 멀티코어에서 멀티 스레드를 동작시키는 방식
- 물리적인 개념
교착상태
두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태
발생조건
- 서로의 자원을 요구하면서 자신의 자원을 점유하고 있는 상태
- 냉탕 ↔ 온탕
메모리 관리
메모리를 관리하는 형태
- 프로그램의 요청이 있을 때, 메모리의 일부를 해당 프로그램에 할당
- 더 이상 필요하지 않을 때 나중에 다시 사용할 수 있도록 할당을 해제
cache
- 메모리보다 CPU가 훨씬 빠르기 때문에 CPU 캐시를 장착시켜 그 속도 차이를 해결하기 위함