운영체제 간단정리

JoyJuhee·2022년 2월 6일
0

운영체제

목록 보기
1/10
  • 운영체제란?
    1) 시스템의 자원(cpu, 메모리)과 동작을 관리하는 소프트웨어
    2) 프로세스, 저장장치(RAM, HDD),네트워킹, 사용자, 하드웨어를 관리

  • 메모리 구조
    <프로그램 실행 과정>
    출처: https://jinshine.github.io/2018/05/17/%EC%BB%B4%ED%93%A8%ED%84%B0%20%EA%B8%B0%EC%B4%88/%EB%A9%94%EB%AA%A8%EB%A6%AC%EA%B5%AC%EC%A1%B0/

    1) Code : 소스코드가 들어가는 부분
    2) Data : 전역변수, 정적변수가 할당되는 부분
    3) Heap : 사용자가 직접 관리하는 영역으로 데이터가 동적으로 할당되는 공간
    4) Stack : 함수의 호출정보, 지역변수, 매개변수가 저장

  • 프로세스, 스레드
    1) 프로세스 : 실행중인 프로그램
    2) 스레드 : 프로세스 안 실행되는 흐름 단위 (예. 유튜브 동영상이 실행되고, 그 동시에 좋아요를 누르는 것 하나 하나의 동작을 스레드라고 한다.)
    👉 프로세스는 메모리와 CPU를 프로세스마다 할당받아서 사용하는데 스레드는 프로세스 안에서 다른 스레드와 메모리와 CPU를 공유해서 사용한다.
    출처 : https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html

  • CPU 스케줄러
    : 준비큐에 있는 프로세스에 대해서 CPU를 할당하는 방법
    (종류 : FCFS, SJF, SRT, Priority, Scheduling, Round Robin)
    출처 : https://hyunah030.tistory.com/4

  • 가상 메모리
    1) 사용하는 부분만 메모리에 올리고, 나머지는 디스크에 보관하는 방법
    2) 모든 프로세스에게 메모리를 할당하기에는 메모리의 크기가 한계가 있어서 사용하는 방법

  • 데드락
    1) 프로세스가 자원을 얻지 못해 다음 작업을 못하는 상태
    (예. p1, p2가 각각 자원 a와 b를 얻어야 되는데 p1은 a를, p2은 b를 가지고 있어서 서로 무한정 기다리는 상태)
    출처 : https://lazaros7.tistory.com/280

    2) 데드락의 조건 : 상호배제, 점유대기, 비선점, 순환대기


출처 : https://www.youtube.com/watch?v=4ZyUAZ6Vrfc

0개의 댓글