일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- BOJ
- mips
- 페이지 대치
- PYTHON
- garbage collection
- ALU
- 컴퓨터구조
- redis
- 교착상태
- 단편화
- 백준
- 페이지 부재율
- gc
- 가상 메모리
- concurrency
- 페이징
- local cache
- 세마포어
- 스케줄링
- mutex
- Algorithm
- 우선순위
- 기아 상태
- 운영체제
- 인터럽트
- 프로세스
- fork()
- 부동소수점
- 스레드
- 알고리즘
- Today
- Total
목록분류 전체보기 (131)
봉황대 in CS

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 커널 메모리의 할당 (Kernel Memory Allocation) 사용자 모드에서 수행중인 프로세스가 추가적인 메모리를 요구하면 커널이 관리하는 가용 페이지 프레임에서 페이지들이 할당된다. 하지만 커널 메모리는 사용자 모드 프로세스에게 할당해주는 페이지 리스트와는 별도의 메모리 풀에서 할당받는다. 그 이유는 다음과 같다. 1. 커널은 다양한 크기의 자료구조를 위해 메모리를 할당받는데, 이때 단편화에 의한 낭비를 최소화해야 한다. 2. 물리 메모리에 직접 접근하는 특정 하드웨어 장치는 물리적으로 연속적인 메모리..

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 스레싱 (Thrashing) 스레싱은 과도한 페이징 작업으로 프로세스들이 실제 실행되는 시간보다 페이지를 교체하는 데에 더 많은 시간을 사용하고 있는 현상을 말한다. 운영체제는 CPU의 이용률(utilization)을 계속 감시하고 있다. 만약 CPU 이용률이 너무 낮아지면 이때 운영체제는 새로운 프로세스를 시스템에 더 추가하여 다중 프로그래밍의 정도(degree of mulitprogramming)을 높인다. 이때 전역 페이지 교체 알고리즘을 사용해서 어떤 프로세스의 페이지인지에 대한 고려 없이 교체를 수행하..

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 프레임의 할당 여러 개의 프로세스들에게 가용 메모리 몇 프레임씩을 할당해야 하는지도 중요한 논의 사항이다. 프로세스 당 필요한 최소 프레임 수는 명령어 집합 아키텍처(instruction set architecture)에 의해서 결정되는데, 각 프로세스에게는 이 최소한의 프레임 수만큼은 할당되어야 한다. 만약 명령어 수행이 완료되기 전에 페이지 부재가 발생하면 그 명령어는 재실행되어야 하기 때문이다. 따라서 하나의 명령어가 참조하는 모든 페이지가 동시에 메모리에 올라와 있어야 해당 명령어의 수행이 끝날 수 있게..

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. LRU 근사(LRU-Approximation) 페이지 교체 LRU 페이지 교체는 가장 오랜 기간 동안 사용되지 않은 페이지를 선택하여 대치하는 알고리즘이다. 교체할 페이지를 선택하기 위해서는 페이지가 '참조된 시간'에 대한 정보를 이용해야 하는데, 이 시간 정보들을 관리하기 위해서는 계수기, 클럭의 시간 값이나 스택을 활용해야 한다. 하지만 계수기 값과 스택을 갱신하는 일은 메모리 참조 때마다 수행되어야 하기 때문에 메모리 접근 성능이 거의 10배 느려지게 되며, 모든 사용자 프로세스의 수행 속도를 그만큼 저하..

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 페이지 대치(교체) 알고리즘 가상 메모리 기법에서는 페이지들이 실행 과정에서 실제로 필요해질 때 적재된다. 따라서 페이지 부재(page fault)가 발생하면 해당 페이지를 메모리로 읽어 들여야 하는데, 물리 메모리에 여유가 없어 자유 프레임이 존재하지 않을 때는 희생될 페이지를 찾아 교체를 해야 한다. 이때 어떤 페이지를 교체할 것인지를 찾기 위해서 페이지 대치 알고리즘을 가동하게 되며, 일반적으로 페이지 부재율(page-fault rate)이 가장 낮은 것을 선정한다. 페이지 대치 알고리즘의 성능은 특정 메..

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 결속 방식에 따른 메모리 경영 기법의 분류 분류 공간 크기 사상 단위 적재 단위 분할 방법 논리 = 물리 전체 프로그램 전체 프로그램 페이징 / 세그먼테이션 논리 = 물리 페이지 (세그먼트 기법은 가변 크기) 전체 프로그램 가상 메모리 논리 > 물리 페이지 프로그램 일부 적재 Chapter 8에서 소개한 분할 방법과 페이징, 세그먼테이션 기법은 “현재 실행되고 있는 코드는 반드시 물리 메모리에 존재해야 한다”는 기본적인 요구 조건을 만족하기 위해 필요했다. 이 요구 조건을 가장 쉽게 만족시키는 방법은 전체 프로..

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 결속 방식에 따른 메모리 경영 기법의 분류 분류 공간 크기 사상 단위 적재 단위 분할 방법 논리 = 물리 전체 프로그램 전체 프로그램 페이징 / 세그먼테이션 논리 = 물리 페이지 (세그먼트 기법은 가변 크기) 전체 프로그램 가상 메모리 논리 > 물리 페이지 프로그램 일부 적재 다중 프로그램된 운영체제의 메모리 관리 정책들 중 어느 것을 사용할 것인가는 하드웨어에 달려있다. CPU가 생성하는 모든 주소(논리 주소)에 대해서는 먼저 오류가 검사 되어야 하고, 물리 주소로 매핑되어야 한다. 이 작업은 소프트웨어로는 ..

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 결속 방식에 따른 메모리 경영 기법의 분류 분류 공간 크기 사상 단위 적재 단위 분할 방법 논리 = 물리 전체 프로그램 전체 프로그램 페이징 / 세그먼테이션 논리 = 물리 페이지 (세그먼트 기법은 가변 크기) 전체 프로그램 가상 메모리 논리 > 물리 페이지 프로그램 일부 적재 세그먼테이션 (Segmentation) 세그먼테이션은 사용자의 메모리에 대한 관점을 그대로 지원해주는 메모리 경영 방식이다. 사용자들에게 메모리는 가변 크기를 가진 structure, 행렬, 테이블, 함수 등의 집합으로 인식되는데 이들 각..