운영체제 내용 정리
- 최초 등록일
- 2007.06.07
- 최종 저작일
- 2006.06
- 25페이지/ 한컴오피스
- 가격 2,000원
소개글
컴퓨터공학과 운영체제 수업 6장부터11장 그리고 17,18장의 내용을 정리한 것입니다.
목차
6장 프로세스 동기화 (Process Synchronization)
제 7장 교착상태(Deadlocks)
제 8장 기억장치 관리(Memory Management)
제 9장 가상 기억장치(Virtual Memory)
제 10장 File System interface
제11장 File System Implementation
제 17장 보호 (Protection)
제18장 보안 (Security)
본문내용
제 8장 기억장치 관리(Memory Management)
8.1 Background
1. Address Binding
- 한 주소공간에서 다른 주소공간으로의 사상을 의미하며, 세 단계로 구분한다.
1) Compile time : 컴파일 시간에 적재될 위치가 결정되면 컴파일러는 절대코드를 생성한다.
2) Load time : 프로세스가 적재될 위치를 컴파일 시간에 알지 못하면 재배치 코드를 생성하며, 적재될 위치의 결정은 적재 시간까지 지연된다.
3) Execution time : 프로세스가 수행 중에 한 기억장치 세그먼트로부터 다른 세그먼트로 이동할 수 있다면 바인딩은 수행 시간까지 지연되어야 한다.
2. Dynamic Loading : 기억장치 공간 이용효율이 높다.
- 주 프로그램만 기억장치에 적재되어 수행되고, 여러 루틴은 요구 시에만 기억장치에 적재된다.
1) 사용되지 않는 루틴은 결코 적재되지 않는다.
→ 간혹 오류가 발생하지만 많은 양의 코드를 필요로 하는 경우에 특히 유용하다.
2) 운영체제의 특별한 지원을 필요로 하지 않는다.
→ 프로그래머에게 Dynamic Loading 수단으로 라이브러리 루틴을 제공한다.
3. Dynamic Linking
- 동적 적재의 개념과 유사하게 라이브러리를 제공하지만, 적재가 수행시간까지 지연되기 보다는 연결이 지연된다.
1) 디스크 공간과 기억장치의 낭비가 있다.
2) 라이브러리는 새로운 버전으로 대치될 수 있다.
→ 여러 버전의 라이브러리들이 적재될 수 있으므로 버전 정보를 포함해야 한다.
4. 중첩(Overlays)
- 프로세스가 프로세스에 할당된 기억장치보다 클 경우, 이를 해결하기 위해 사용하는 방법으로, 공통으로 사용되는 루틴은 주기억장치에 상주시키고, 나머지 루틴은 필요한 대에 필요 없는 루틴이 가지는 메모리의 공간으로 적재시켜 실행하는 방식이다.
참고 자료
없음