Operating System – 2

– Deadlock 회피

  – 자원이 어떤 방식으로 요청될지 추가정보를 요구하는 것.

  1. 자원할당 알고리즘 기법 

  2. 은행권 알고리즘

    – 미리 자원상황 및 사용량 파악 -> 요청오면 -> 안정이면 -> 할당


– Deadlock 회복

  1. Process Terminate

  – 모두 Kill 또는 Deadlock이 풀릴때까지 하나씩 Kill (하나하나 풀어내므로 Overhead 발생)

  2. 자원선점

  – Deadlock이 풀릴때까지 자원을 미리 획득하고 이들을 다른 Process에 준다.


– Logical Address (논리주소) 

  – CPU가 생성하는 메모리 주소

– Physical Address (물리주소)

  – 램이 취급하는 주소

  – 가상주소 -> 변환(MMU) -> 물리주소


– CPU Bound Process : CPU Burst time이 긴 Process

– I/O Bound Process : CPU Burst time이 짧은 Proess

– Convoy Effect

  – 다른 프로세스(I/O Bound)들이 하나의 긴 프로세스(CPU Bound)가 CPU 점유를 넘겨주길 기다리는 것

  – I/O Bound process 들이 먼저 처리되는 것보다 CPU와 I/O 이용률이 저하된다. (FCFS 스케쥴링에서 발생 가능)


– MVC (Model, View, Controller)

  – Application을 세가지로 구분한 개발방법론 

  ex)

  1. User가 웹사이트에 접속 (Uses)
     
  2. Controller는 User가 요청한 웹페이지를 서비스하기 위해 Model 호출 (Manipulates)
  3. Model은 DB나 File등의 데이터를 제어한 후 결과를 리턴
  4. Controller는 Model이 리턴한 결과를 View에 반영 (Updates)
  5. 데이터가 반영된 View는 User에게 보여진다. (See)

  – 특징 : UI와 로직을 분리하여 서로 영향없이 쉽게 유지보수가 가능함.


– JAVA vs Java Script

  1) 프로그래밍언어 vs 스크립트 언어

  2) 시스템 or 브라우저에서 실행되는 App 개발 vs 브라우저에서만 실행

  3) 컴파일러 vs 인터프리터


– Final 변수?

  – 상수로 사용될 변수, 즉 값이 바뀌지 앟는 변수 (C의 const)


– Swapping

 RAM <- -> HDD (페이지 이동)


– Paging

  – 어떠한 프로그램의 자주 쓰이지 않는 메모리 공간을 RAM -> HDD로 옮긺으로써 RAM의 활용공간을 상승시킴.

  – Page : 옮겨가는 단위


– 가상메모리

  – 한정된 RAM의 한계를 극복하고자 만들어짐.

  – Disk와 같은 저장장치를 활용해 더 많은 RAM 공간을 활용하는 것.

  – ex ) 용량이 큰 게임 -> HDD 를 자주 읽는 현상 (Swapping)


– Page

  – 가상메모리를 활용하는 최소의 크기 단위 (보통 4kb) 

  – Page 교체 알고리즘

  1) FIFO

  2) LRU 


– Thrashing (쓰레싱)

  – 실행시간보다 Page 교체시간이 더 많아지는 현상

  – page fault가 높을때, frame이 부족할때

  – 우선순위 알고리즘으로 제한할수 있음 or 재배치 알고리즘으로 수정

  – 방지법 : 각 프로세스가 필요로하는 최소한의 frame을 보장한다.

  – 원인 : 멀티프로세싱의 양을 늘렸기 때문.

    – 가장 좋은 해결책 : RAM 증설


– frame : 메모리는 frame이라는 고정크기의 블록으로 나뉘어져 있다.

“Operating System – 2” 에 대한 1 댓글

답글 남기기