운영체제 OS(Operating System)

AMJ·2023년 3월 13일
0

후기_log

목록 보기
5/28


운영체제

  • 시스템자원동작관리하는 소프트웨어

  • 프로세스, 저장장치, 네트워킹, 사용자, 하드웨어 를 관리


메모리 _ RAM

  • 4가지 영역
    • data 영역
    • code 영역
    • heap 영역
    • stack 영역

프로세스

  • 실행 중 인 프로그램

    • 스레드가 여러개 실행중인 프로그램
  • 스레드

    • 프로세스 안에서 실행되는 흐름 단위.
  • 독립된 CPU, 메모리 영역을 할당 받음(사용함).

  • 스레드 안에서 stack 영역은 공유 되지 않고
    나머지 data code heap 3가지 영역은 다른 스레드와 공유된다.


CPU 스케줄러

  • 준비큐에 있는 프로세스에 대해 CPU를 할당하는 방법

  • 비선점 스케줄링 : 예의지킴

    • FCFS (First Come First Served) > 선입선출.

    • SJF (Shortest Job First) > BurstTime 적은 순으로 처리.

      • cf. `BurstTime` > cpu 사용시간 (전체 처리시간)

  • 선점 스케줄링 : 너 나와

    • SRT (Shortest Remaining Time) > 잔여시간이 기준.

    • PS (Priority Scheduling) > 우선순위 높은 순서 먼저 할당.

    • RR (Round Robin) > 공통시간 분배처리.

      • Time Quantum((Time Slice) : 실행의 최소 단위 시간 간격

        	퀀텀을 길게하면 인터렉티브(쌍방향)적인 시스템에
        	서는 반응이 늦어 문제가 발생할 수 있고, 
        	그렇다고 너무 짧게하면 컨텍스트 스위칭이 자주 발생해서 
        	성능에 저하를 가져다 준다.

스케줄링 큐(Queue)

  • 실행될 프로세스가 여러 개 있으면 하나만 실행되고 나머지는 CPU가 자유로워질 때까지 대기하는 것으로 선입선출의 방식을 따른다.

큐의 종류

  • 작업 큐 , 준비 큐 , 장치 큐 가 있다.
    • 작업 큐 `Job Queue`

      • 메모리 할당을 대기 중인 프로세스들로 구성
    • 준비 큐 `Ready Queue`

      • CPU 할당을 대기 중인 프로세스들로 구성
    • 장치 큐 `Device Queue`

      • 입출력 장치 할당을 대기 중인 프로세스들로 구성

가상 메모리

  • 모든 프로세스에 메모리를 할당하는 것은 비효율적(메모리의 크기에 한계가 존재)
  • (효율적으로 사용하기 위해서) 사용하는 부분만 메모리에 올리고 나머지는 디스크(HDD)에 보관하는 방법
cf. 컴퓨터는 HDD에 프로그램을 보관하고 사용자가 요청하면 가상 메모리에 올리고 CPU에서 올려진 메모리를 이용해 프로그램을 실행한다. 

데드락

  • 프로세스가 자원을 얻지 못해 다음 작업을 못하는 상태

  • Process1(P1)Process2(P2)이 각각 자원AB를 둘다 얻어야 되는데 P1이 B를 P2가 A를 가지고 있어서 무한정 대기 상태로 이어지는 경우 아래 4가지 조건 성립 시 발생 한다.

발생조건

4가지 조건 동시 성립 시 발생 !!!
  • 상호 배제 (Mutual exclusion)
    • 자원은 한 번에 한 프로세스만이 사용할 수 있어야 한다
  • 점유 대기 (Hold and wait)
    • 최소한 하나의 자원을 점유 하면서 다른 프로세스에 할당되어 사용하고 있는 자원추가로 점유하기 위해 대기하는 프로세스가 있어야 한다.
  • 비선점 (No preemption)
    • 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 한다
  • 순환 대기 (Circular wait)
    • 프로세스의 집합 {P0, P1, ,…Pn}에서
      P0는 P1이 점유한 자원을 대기하고
      P1은 P2가 점유한 자원을 대기하고
      P2…Pn-1은 Pn이 점유한 자원을 대기하며
      Pn은 P0가 점유한 자원을 요구해야 한다.

참고 사이트

profile
재미있는 것들

0개의 댓글