운영체제 용어 정리

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
notion image

스레드, 멀티스레드

🤔
스레드 : 프로세스보다 낮은 실행 단위
  • 싱글스레드 : 스레드가 한개
  • 멀티스레드 : 스레드가 여러개
  • 물론 멀티 스레드를 할때 성능과 속도의 이점을 볼 수 있음

cpu

🧠
컴퓨터의 뇌
  • ALU, CU, Register Set, Bus Interface로 구성
  • 커널에서 배정한 프로세스 연산을 수행하는 커널모드와 응용 프로그램에서 사용하는 유저모드가 있다.
notion image

다중프로그래밍, 다중 처리 시스템

✏️
메모리에 여러개의 프로그램을 상주시키는 다중프로그래밍 복수의 CPU를 사용하는 다중 처리 시스템이다.
  • 다중프로그래밍
    • 하나의 작업으로 CPU 사용 중 입출력으로 CPU를 사용하지 않을 때 다른 작업에 CPU 할당하여 효울 극대화.
    • 메모리 관리 기법이나 CPU 스케줄링 기법 필요
    • 장점 : 동시에 여러 프로그램 실행시켜 처리 능력이 좋음
    • 단점 : 여러 프로그램을 관리하기 때문에 OS 구조가 복잡해짐
  • 다중 처리 시스템
    • 복수의 CPU를 사용하여 다중 작업 처리.
    • CPU에 장애가 발생해도 여분의 CPU를 통해 작업 진행
    • 장점 : 속도가 빠르고 안정성이 높음
    • 단점 : 비용이 비쌈

동시성과 병렬

✏️
동시에 실행되는 것 같이 보이는 동시성 vs 실제로 동시에 여러 작업이 처리되는 병렬성
  • 동시성
    • 동시에 실행되는 것 같이 보이는 것
    • 싱글코어에서 멀티 스레드를 동작시키는 방식
    • 논리적인 개념
  • 병렬성
    • 실제로 동시에 여러 작업이 처리되는 것
    • 멀티코어에서 멀티 스레드를 동작시키는 방식
    • 물리적인 개념
notion image

교착상태

✏️
두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태

발생조건

  • 서로의 자원을 요구하면서 자신의 자원을 점유하고 있는 상태
  • 냉탕 ↔ 온탕

메모리 관리

✏️
메모리를 관리하는 형태
  • 프로그램의 요청이 있을 때, 메모리의 일부를 해당 프로그램에 할당
  • 더 이상 필요하지 않을 때 나중에 다시 사용할 수 있도록 할당을 해제

cache

✏️
대용량의 메인 메모리 접근을 빠르게 하기 위해 CPU칩 내부나 바로 옆에 탑재하는 작은 메모리
  • 메모리보다 CPU가 훨씬 빠르기 때문에 CPU 캐시를 장착시켜 그 속도 차이를 해결하기 위함

reference


© jadru 2022 - 2024