본문 바로가기

ComputerScience/운영체제8

8강. 메모리 관리 8강. Memory Management 메모리란? 주소를 통해 접근하는 객체로 Main Memory는 주 기억장치를 의미한다. 주소의 종류 Logical Address(Virtual Address) 프로세스마다 독립적으로 갖는 공간. 0번지부터 시작한다. CPU가 보는 주소이다. Physical Address 메모리에 실제로 올라가는 위치 Symbolic Address 프로그래밍을 할 때 변수를 지정하면 변수의 이름을 통해 값에 접근할 수 있는 방법. 그 변수를 Symbolic Address라고 한다. 변수가 컴파일되어 숫자 주소가 만들어지고 물리적 메모리와 매핑되는것을 주소바인딩이라고 한다. 주소 바인딩. Address Binding 주소바인딩이란? Data의 주소를 결정하는 것, 물리적 메모리의 어느.. 2018. 9. 12.
7강. Deadlock, 교착상태 7강. 교착상태 , Deadlock 강의 링크 : https://core.ewha.ac.kr/publicview/C0101020140411151510275738?vmode=f Deadlock Porblem 일련의 프로세스들이 서로가 가진 자원을 기다리며 blocked인 상태 Resource의 개념 하드웨어와 소프트웨어를 포괄하는 개념이다. I/O space, CPU cycle, Memory Space, Semaphore등이 있다. 프로세스가 Resource를 사용하는 절차는 Request 자원 요청 Allocate 자원 할당 Use 자원 사용 Release 자원 반납 Deadlock이란. P1(a),P2(b)인 상태, 프로세스 P1, P2가 각각 자원 a, b를 할당 받았을 때 P1(b), P2(a)를 .. 2018. 9. 12.
6강. 프로세스 동기화 6강. Process Synchronization 강의 링크 프로세스 동기화, Process Synchronization = 병행제어, Concurrency Control Race Condition 여러 객체가 하나의 데이터를 동시에 접근하려고 하는 상태를 말한다. 데이터의 최종 연산 결과는 마지막에 다룬 프로세스에 따라 달라진다. 공유 데이터(Shared Data)의 동시접근(Consistency Access)은 데이터의 불일치(Inconsistency) 문제를 발생시킬 수 있다. 일관성(Consistency) 유지를 위해서 협력 프로세스 간의 실행 순서를 정해주는 메커니즘 필요 어떤 경우에 데이터 불일치가 발생하는가? 상황별 해결방법은? 커널 수행 중 인터럽트가 발생한 경우 중요한 루틴을 처리할 때는.. 2018. 9. 12.
5강. CPU Scheduling 5강. CPU Scheduling 강의 링크 CPU를 얻고자 ready queue에서 기다리는 프로세스들에게 효율성 있고 공평하게 CPU를 할당하는 방법. CPU가 일을 수행하는 시간을 CPU burst time, I/O 요청 응답을 기다리는 시간을 I/O burst time이라고 한다. CPU 스케쥴링이 필요한 이유 I/O 작업이 빈번한 작업(I/O bounded job), 그렇지 않은 작업(CPU bounded job)이 있다. 공평하고 효율성 있는 작업도 중요하지만 사용자와 직접 상호작용 하는 I/O bounded job을 적절하게 잘 처리해 주는 것이 중요하다. CPU 스케쥴링의 분류 Preemtive(선점형) time interrupt : 시간을 할당하고 만료되면 CPU를 강제로 빼앗고 다른 프.. 2018. 9. 12.