분류 전체보기
-
파일 개념운영체제/파일 시스템 2018. 2. 4. 20:51
운영체제는 저장 장치의 물리적 특성을 추상화 하여 논리적 저장 단위인 파일을 정의한다. 사용자의 관점에서 볼 때에는 파일은 논리적 보조 저장 장치의 가장 작은 할당 요소이다. 파일은 프로그램과 자료를 나타낸다. 파일은 비트, 라인, 레코드들의 연속으로 볼 수 있다. 파일 속성 파일이 갖는 속성 이름 : 사람이 읽을 수 있는 형태로 유지된 유일한 정보 식별자 : 파일 시스템 내에서 파일을 구분하는 고유의 태그 타입 : 여러 유형을 제공하는 시스템을 위해 필요 위치 : 파일이 존재하는 장치와 그 장치 내의 위치에 대한 포인터 크기 : 파일의 현재 크기 보호 : 읽기, 쓰기, 실행을 제어 시간, 날짜, 사용자 식별 : 생성, 최근 변경, 최근 사용 등을 유지하고 보호, 보안, 사용자 감시를 위해 사용 모든 파..
-
커널 메모리의 할당운영체제/가상 메모리 2018. 2. 4. 20:50
커널 메모리는 별도의 메모리 풀 에서 할당 받는다. 메모리 풀을 사용하는 이유커널은 다양한 크기의 자료구조를 위한 메모리를 요청하고 페이지 보다 작은 크기의 자료 구조를 사용할 수 있다.일부 커널 메모리는 물리적으로 연속된 메모리를 요청할 수 있다. 버디 시스템버디 시스템이란 물리적으로 연속된 페이지들로 구성된 고정된 크기의 세그먼트로부터 메모리를 할당하는 방식이다.메모리는 2의 거듭제곱 단위로 할당된다.2의 거듭제곱 크기가 아닌 메모리 요구는 크기보다 큰 가장 가까운 2의 거듭제곱 크기로 할당한다.내부 단편화의 가능성이 있다.
-
메모리 사상 파일운영체제/가상 메모리 2018. 2. 4. 20:49
디스크에 있는 파일을 순차적으로 읽는다면 파일이 매 번 액세스 될 때마다 시스템 호출을 해야 하고 디스크를 접근해야 한다. 이 대신 디스크 입출력을 메모리 참조 방식으로 대신할 수 있다. 메모리 사상 이라고 불리는 이 접근 방식은 프로세스의 가상 주소 공간 중 일부를 관련된 파일에 할애하는 것을 말한다. 기본 기법 메모리 사상은 프로세스의 페이지 중 일부를 디스크에 있는 파일의 블록에 사상함으로써 이루어진다. 첫 번째 접근은 일반적인 요구 페이징 과정에 따라 페이지 부재를 발생시킨다. 이 때 그 파일 내용 중 페이지 크기 만큼의 해당 부분이 메모리 페이지로 읽혀 들어온다. 그 이후의 파일 read/write는 일반적인 메모리 액세스와 같이 처리된다.
-
스레싱운영체제/가상 메모리 2018. 2. 4. 20:47
충분한 프레임을 할당받지 못한 프로세스는 페이지 교체가 빈번하게 발생되어 낮은 CPU 이용률을 보이게 된다. 스레싱 : 교체된 페이지가 얼마 지나지 않아 다시 사용되는 반복적인 페이지 부재가 발생하는 상황 스레싱의 원인 운영체제는 CPU의 이용률을 검사해 CPU이용률이 너무 낮을 경우 새로운 프로세스를 시스템에 더 추가해서 다중 프로그래밍의 정도를 높인다. 이때 페이지 교체가 필요하다면 이미 활발하게 사용되는 페이지들 로만 이루어져 있으므로 어떤 페이지가 교체되든지 바로 다시 페이지 교체가 필요하게 될 것이다. 이런 현상이 일어날 경우 다중 프로그래밍 정도를 낮춰 스레싱을 해결할 수 있다. 스레싱은 지역 교환 알고리즘 이나 우선순위 교환 알고리즘을 사용해 제한 할 수 있다. 지역 교환 알고리즘이 적용된 ..
-
프레임의 할당운영체제/가상 메모리 2018. 2. 4. 20:42
각 프로세스가 몇 개의 프레임을 할당 받아야 하는지 결정하는 작업이다. 최소로 할당해야 할 프레임의 수 페이지 부재를 줄이기 위해서 프로세스에게 최소한의 프레임을 할당 해 줘야 한다. 할당 알고리즘 균등 할당 : 모든 프로세스에게 똑같이 페이지를 할당 해 주는 것 비례 할당 : 각 프로세스의 크기 비율에 맞추어 할당하는 방법 전역 대 지역 할당 전역 교체 : 교체 할 프레임을 다른 프로세스가 속한 프레임을 포함한 모든 프레임을 대상으로 하는 방식 지역 교체 : 각 프로세스가 자기에게 할당 된 프레임들 중에서만 교체할 프레임을 선택 비 균등 메모리 접근 다중 CPU를 갖는 시스템에서 CPU는 같은 보드의 메모리를 다른 모드의 메모리 보다 더 빠르게 접근할 수 있다. 메모리 접근 시간이 차이 나는 시스템을 ..
-
페이지 교체운영체제/가상 메모리 2018. 2. 4. 20:42
모든 메모리가 사용 중이어서 빈 프레임이 없는 경우 페이지 교체가 필요하다. 기본적인 페이지 교체 만약 빈 프레임이 없다면 현재 사용되고 있지 않은 프레임을 찾아 그것을 비워버린다. 그리고 페이지 테이블을 변화시킴으로써 프레임을 비어 있게 한다. 이 때 페이징 시스템은 두 가지 중요한 문제를 해결해야 한다. 그것은 프레임 할당 알고리즘과 페이지 교체 알고리즘이다. 즉 여러 프로세스가 존재하는 경우 얼마나 많은 프레임을 할당해야 할 지, 어떤 페이지를 교체해야 할 지를 결정해야 한다. 일반적으로 페이지 부재율이 가장 낮은 페이지 교체 알고리즘을 선정한다. 페이지 교체 알고리즘의 성능은 특정 메모리 참조 나열에 대해 알고리즘을 적용하여 페이지 부재 발생 횟수를 계산하여 평가한다. 이 때 메모리 주소의 나열을..
-
쓰기 시 복사운영체제/가상 메모리 2018. 2. 4. 20:35
가상 메모리는 프로세스 생성시 페이지를 공유하여 생성 시간을 줄일 수 있다.과거에 자식 프로세스가 생성될 때에는 부모 프로세스의 페이지를 자식프로세스에 복사해 주는 방식으로 자식 프로세스의 주소 공간을 구성해 주었다.하지만 대부분의 상황에서 자식 프로세스는 만들어지자마자 곧 exec 시스템 호출을 사용해 메모리 공간을 다른 프로그램으로 교체한다.그러면 부모로부터 복사해 온 페이지들은 다 쓸모 없게 된다. 그래서 부모의 페이지를 다 복사해오는 대신 쓰기 시 복사 방식이 사용된다. 쓰기 시 복사 방식은 자식 프로세스가 시작할 때 부모의 페이지를 당분간 함께 공유하여 사용하고 둘 중 한 프로세스가 공유중인 페이지에 쓸 때 페이지의 복사본이 생성된다. 이 방식을 사용할 경우 수정되는 페이지만 복사본을 만들어 효..
-
요구 페이징운영체제/가상 메모리 2018. 2. 4. 20:33
필요한 페이지만을 물리 메모리에 적재하는 것을 요구 페이징 이라고 한다.프로세스를 실행할 때 메모리에 전체 프로세스를 읽어오지 않고 필요한 페이지만 적재하는 게으른 스왑퍼를 사용한다. 기본 개념스왑 인시 페이저는 실제로 사용될 페이지들이 어떤 것인지 추측하고 실제 사용 될 페이지만 메모리로 가져온다.이로써 시간 낭비와 메모리 공간 낭비를 줄일 수 있다. 이를 위해서는 어느 페이지가 메모리에 올라와 있는지를 구별할 수 있어야 한다.따라서 약간의 하드웨어 지원을 필요로 한다. 유효 무효 비트 기법이 여기에 사용될 수 있는데 비트가 유효하다고 설정되면 해당 페이지가 메모리에 있다는 의미이고 무효하다고 설정되면 해당 페이지가 유효하지 않거나 디스크에만 존재한다는 것을 의미한다. 만약 프로세스가 메모리에 올라와 ..
-
배경운영체제/가상 메모리 2018. 2. 4. 20:01
프로세스를 실행할 때 동적 적재 방법을 사용하면 전체 프로세스를 메모리에 올려야 한다는 제약을 완화시키는데 도움이 된다. 프로그램을 일부분만 메모리에 올려놓고 실행 할 수 있을 때의 장점 프로그램은 물리 메모리 크기에 의해 더 이상 제약 받지 않게 된다. 더 많은 프로그램을 동시에 수행할 수 있게 된다. swap에 필요한 입 출력 횟수가 줄어들기 때문에 프로그램이 보다 빨리 실행된다. 가상 메모리는 실제의 물리 메모리 개념과 사용자의 논리 메모리 개념을 분리시켜 프로그램의 일부분만 메모리에 올려놓고 실행 가능하다. 프로세스의 가상 주소 공간은 그 프로세스가 메모리에 저장되는 논리적인 모습을 말한다. 가상 주소 공간은 특정 논리주소에서 시작되어 연속된 공간을 차지한다. 힙과 스택 사이 비어 있는 가상 주소..
-
페이징운영체제/메모리 관리 전략 2018. 2. 4. 17:55
페이징은 프로세스가 적재되는 물리 주소 공간이 연속적이지 않아도 적재를 허용한다는 이점을 가진 메모리 관리 기법이다.페이징은 세그먼테이션과 달리 외부 단편화를 방지하고 단편화에 따른 압축 작업이 필요 없다. 기본 방법물리 메모리는 프레임이라 불리는 같은 크기의 블록들로 분할되고논리 메모리는 페이지라고 불리는 같은 크기의 블록으로 분할된다.프로세스가 실행될 때 프로세스의 페이지는 보조 메모리로부터 주 메모리 프레임으로 적재된다. CPU에서 나오는 모든 주소는 페이지 번호와 페이지 변위의 두 개의 부분으로 나누어진다.페이지 번호는 페이지 테이블을 액세스 할 때 사용되며 페이지 테이블은 주 메모리에서의 페이지 주소를 가지고 있다.이 페이지 주소에 페이지 변위를 더하면 원하는 물리 주소가 된다. 페이징 기법을 ..