운영체제 복습하기
OS란 어플리케이션과 하드웨어의 추상화를 제공한다. 저장소에 대한 추상화로 '파일 시스템'을, 네트워크에 대한 추상화로 '소켓'을, 메모리에 대한 추상화로 '가상 메모리' 를 제공하는 것이 좋은 예이다. 운영체제의 중요한 두 가지 역활 하드웨어 추상화 리소스 관리
Process란 무엇인가?
우선 우리는 Process에 대해 알고있다. 1~100 까지 더해야 하는 상황일때 process를 10개 만들어서 각 prcoess가1~10까지,11~20, .. ,91~100 까지를 각자 더해주고 그 결과값을 더해준다면 단일 process 계산에 비해서성능은 10배로
A라는 사람의 계좌에 100만원이 있다. 동일한 타이밍에 100만원 입금과, 150만원 출금 요청이 들어왔다. 입금과 출금의 순서의 따라 task가 실패하느냐 성공하느냐 결과가 달라진다. process나 thread들 또한 interleaved(병렬적)이기에 공유되는
상호 배타적인 공유 자원의 접근을 위한 0이상의 정수형 변수 '세마포어'를 설정한다.임계 구역에 접근할 시에, 세마포어가 1이상일 경우 1을 감소시키고 임계 영역에 접근한다.만일 세마포어가 0이라면 더 이상 접근할 수 없으므로 waiting한다. 임계 영역을 나올 시에
여러 Process들은, 자신의 연산이 실행되기 위해서 CPU가 필요하다.문제점은, CPU에 비해 프로세스가 많으므로 돌아가면서 프로세스를 CPU에 적재해서 실행해야한다느 점이다.문맥 교환, CPU에서 연산중인 프로세스가 다른 프로세스로 바뀌는 것을 'context s
운영체제의 메모리 관리에 대해 알아보자 CPU의 L1캐시와 L2 캐시는 매우 빠른 IO타임을 가지고 있지만 , 비싸다 ... '최근에 쓰인 값은 다시 쓰일 가능성이 높다!' 라는 논리적(?)추론에 의거하여 LRU 정책을 기반으로 캐시를 관리한다. 만일 메모리에 단 하나