목록CS (73)
공부기록
인터넷이란? 네트워크의 네트워크이다. 느슨한 계층 관계 internet (public) vs intranet(private) ISP (Internet Service Provider)들이 서로 연결되어 있다. 프로토콜은 메세지들의 수신, 송신을 제어한다. 어플리케이션들에게 서비스들을 제공하는 communication infrastructure 이다. 앱들에게 프로그래밍 인터페이스를 제공한다. Protocol이란? 프로토콜에 따라 특정한 메세지가 보내지고, 그 메세지에 대한 특정한 액션이 취해진다. 프로토콜은 메세지의 format, order, 그리고 메세지에 취해질 action을 정의한다. Syntax (구문) : 데이터의 형식 Semantic (의미) : 주 기기간의 데이터 전송을 위한 제어정보를 규명 ..
세그먼테이션 세그먼테이션은 프로그래머가 메모리를 다수의 주소공간들 (혹은 세그먼트 들) 의 조합으로 볼 수 있게 함 세그먼트들은 서로 크기가 다르고, 실제로 그 크기는 동적으로 결정 메모리 참조는 (세그먼트 번호, 오프셋)의 주소 형식 장점 점진적으로 커져가는 자료구조의 처리를 단순화 세그먼트의 크기를 OS가 재정의 할 수 있음 프로그램 전체에 대한 재연결, 재적재 없이, 세그먼트 각각을 독립적으로 변경하거나 다시 컴파일 할 수 있게함 여러 개의 세그먼트를 사용함으로써 가능하다. 프로세스들이 세그먼트를 공유할 수 있도록 함 세그먼트를 보호할 수 있게 함 세그먼트 테이블이 필요 전형적으로 각 프로세스는 자기 고유의 세그먼트 테이블과 연계 세그먼트 중 일부만 주 메모리에 적재되기 때문에, 해당 세그먼트가 주..
가상 메모리 페이징 프로세스별 페이지 테이블이 필요 존재비트 P : 해당 페이지가 메모리에 적재되어 있는지 여부 적재 되어 있다면 그 항목은 그 페이지의 페이지 프레임 번호를 포함 적재되어 있지 않다면 보조 메모리에 있고, 페이지 인덱스를 참조시 page fault가 일어나 페이지를 반입함 수정비트 M : 해당 페이지가 메모리에 적재된 후 그 내용이 수정되었는지 여부 수정되지 않았다면 page out할 때 이 페이지를 DISK에 쓰는 연산을 할 필요가 없어진다. Other Control Bits 페이지 수준에서 보호와 공유를 다루기 위한 비트들 페이지 테이블 구조 메모리에서 한 워드를 읽을 때 마다 페이지 번호와 오프셋으로 구성된 가상 주로(혹은 논리주소)를 프레임 번호와 오프셋으로 구성된 물리주소로 변..
단순 페이징, 세그멘테이션의 특징 (vs 고정 분할 혹은 가변 분할) 프로세스의 모든 메모리 참조는 논리주소 이전과 다른 메모리 위치에 적재될 능력이 있다. 한 프로세스의 주소공간은 여러 블록(페이지, 세그멘트)로 분할 이 블록들은 연속되어 배치될 필요가 없다. 테이블을 통해 찾아가면 되니까 위의 두 특성 때문에 프로세스의 모든 페이지, 세그먼트가 주기억 장치에 적재되어 있을 필요가 없다. 즉 블록들을 필요에 따라 스와핑 할 수 있다. 다음에 수행할 명령을 포함한 블록과, 그 명령에 의해 참조될 데이터가 포함된 블록이 주 기억장치에 있다면, 프로세스의 진행이 가능하다. 프로세스의 블록이 반입되는 과정 OS는 초기에 수행될 코드와 참조될 데이터가 포함되는 몇개의 블록만 주기억장치로 반입 적재 집합 : 현재..
세그먼 테이션 사용자 프로그램은 세그먼 테이션 기법을 이용하여 나누어 질 수 있고 프로그램과 그에 관련된 데이터들이 여러 세그먼트로 나누어짐 세그먼트의 크기는 각각 다를 수 있다. 세그먼테이션의 논리 주소 = 세그먼테이션 번호 + 오프셋 동적 할당과의 차이는 세그먼테이션은 하나 이상의 파티션을 차지할 수 있고 연속적일 필요가 없다는 점 외부 단편화를 초래할 수 있다. 하지만 프로세스보다 작은 크기로 쪼개지기에 상대적으로 단편화가 적은 편 프로그래머가 세그먼트를 지정할 수 있다. 프로그래머, 컴파일러는 프로그램과 데이터를 다른 세그먼트로 할당 구조적인 프로그래밍을 위해 프로그램, 데이터는 더 세분화 된 여러 세그먼트로 나뉠 수 있다. 세그먼트 기법의 단점 프로그래머가 세그먼트의 최대 크기를 알고 있어야함 ..
페이징 고정 분할 기법과 가변 크기 분할 기법은 메모리를 효율적으로 이용하지 못함 페이징은 각 프로세스의 마지막 페이지에서만 내부 단편화가 일어난다. 페이징은 메모리 프레임에 연속적으로 저장되지 않아도 된다. 이 때문에 각 프로세스가 하나의 주소 레지스터가 아닌, 페이지 테이블을 유지한다. 페이지 테이블은 각 페이지들에 해당하는 프레임의 위치를 관리한다. 프로그램 안에서 각 논리주소는 페이지 번호 + 페이지 내의 오프셋 으로 구성 논리주소는 프로그램의 시작 위치로부터 상대적인 값으로, 처리기는 논리주소를 물리주소로 변환 논리 주소 (페이지번호 , 오프셋 ) -> 처리기 -> 물리주소 (프레임 번호, 오프셋)이 된다. OS는 현재 비어있고, 페이지에 할당 가능한 모든 프레임들의 목록을 관리
동적 분할 파티션의 크기와 갯수가 가변적 나중에는 작은 구멍들이 메모리에 생긴다. 외부 단편화가 발생한다. - 현재 파티션 영역 외의 메모리를 쓸 수 없게 된다. 메모리 집약 (compaction) 이 필요하다. - 비효율적임 배치 알고리즘 first-fit, next-fit, best-fit이 있다. first-fit (최초 적합) 가장 앞에 있는 사용 가능한 빈 공간을 찾는다. next-fit (순환 적합) 현재 할당된 파티션 다음의 빈 공간을 찾는다. best-fit (최적 적합) 이용 가능한 빈 공간 중 가장 크기가 작은 공간을 찾는다.
메모리 관리 전략들에 관한 정리 기술설명장점약점고정 분할시스템 생성 시에 주기억장치가 고정도니 파티션들로 분할된다. 프로세스는 균등사이즈의 파티션 또는 그보다 큰 파티션으로 적재된다.구현이 간단하다. 운영체제에 오버헤드가 거의 없다.내부단편화로 인한 비효율적인 사용. 최대 활성 프로세스의 수가 고정동적 분할파티션들이 동적으로 생성되며, 각 프로세스는 자신의 크기와 일치하는 크기의 파티션에 적재된다.내부 단편화가 없고 주기억 장치를 보다 효율적으로 사용할 수 있다.외부 단편화를 해결하기 위한 메모리 집약(compaction)이 요구. 따라서 처리기 효율이 하락가상 메모리 페이징주기억 장치는 균등 사이즈의 프레임으로 나뉜다. 각 프로세스는 프레임들과 같은 길이를 가진 균등 페이지들로 나누니다. 페이지를 저장..