⭐️ Computer Science
[운영체제] 2. 메모리계층, 가상메모리, 스와핑, 페이지폴트, 스레싱
메모리 계층 레지스터, 캐시, 메모리, 저장장치 위로 갈수록 속도가 빠르지만, 단위 공간 당 가격이 비싸고 용량이 적다. 아래로 갈수록 속도가 느리고, 단위 공간 당 가격이 싸고 용량이 많다. 휘발성 : 전원이 나가면 데이터가 사라진다. 비휘발성 : 전원이 나가도 데이터가 사라지지 않는다. CPU는 바이트 단위로 접근 가능한 매체이어야 접근이 가능하다. Primary : CPU가 직접 접근해서 실행 가능한 매체(Executable) - 바이트 단위 하드디스크의 단위는 섹터 단위로 접근할 수 있어 CPU가 접근하지 못한다. Secondary : CPU가 직접 접근하지 못하는 매체 - 섹터 단위 레지스터 : 휘발성, 작은 메모리, 속도는 가장 빠름, 용량은 가장 적음 캐시메모리 : L1, L2, 캐시 / L..
[운영체제] 1. 운영체제와 컴퓨터, 인터럽트, 시스템콜과 modebit
운영체제의 4가지 역할 후리장난감공장이 있다. 관리자 이름은 운영체제고, 일꾼은 CPU, 보조일꾼은 DMA 컨트롤러다. 공장부지는 메모리라고 한다. 일꾼의 뇌는 제어장치이며, 일꾼은 계산할 때 산술논리연산장치로 한다. 1. CPU의 스케줄링과 프로세스 관리 cpu의 소유권을 어떤 프로세스에게 할당할 거고, 프로세스의 생성과 삭제, 자원 할당과 반환을 관리한다. ex. 넷플릭스 실행 버튼을 눌렀을 때, 넷플릭스가 실행되는 그 과정 속에서 cpu 소유권을 넷플릭스에게 넘겨주는 관리자가 운영체제 - 먼저 들어왔다고 먼저 할당해줄까? 아니겠지? 2. 메모리 관리 한정된 메모리를 어떤 프로세스에 얼만큼 할당하는가 / 효율적인 관리 메모리라고 할 때, 우리는 보통 주메모리 RAM을 말하는 것인데 이 한정된 메모리를..
[네트워크] 인터넷 네트워크
🕸 1. 인터넷 네트워크 인터넷 통신 IP (아파트) TCP, UDP (구축 완, 커스텀 가능) PORT (몇 동, 몇 호) DNS (전화번호부) 인터넷은 어떻게 통신하나? 중간에 수많은 복잡한 인터넷 망을 거쳐서 목적지까지 도착하려면 IP(인터넷 프로토콜) 주소 부여를 통해서 가능하다. IP(인터넷 프로토콜)와 IP의 역할 메세지를 보낼 클라이언트가 IP 주소를 부여 받고, 메세지를 받을 서버도 IP 주소를 부여 받는데, IP의 역할은 - 지정한 IP 주소에 데이터를 전달할 수 있도록 하는 최소한의 규칙이다. - 그리고 패킷이라는 통신 단위로 데이터(메시지)를 전달하게 된다. IP Packet = Package + Bucket의 합성어 출발지 IP 주소 (100.100.100.1), 목적지 IP 주소,..
[운영체제] 28. Disk Management & Scheduling 2
28. Disk Management & Scheduling 2 Swap-Space Management 보조 기억 장치를 사용 하는 두 가지 이유 1. 메모리 제약적인 것 때문 메모리가 휘발성의 성질을 가지고 있기 때문에 파일 시스템처럼 연속적으로 데이터를 유지해야 하는 아이는 비휘발성의 디스크를 사용해야 한다. 2. 메모리 공간이 한정적이기 때문에 멀티 프로그래밍 사용의 증가 - 동시에 메모리에 프로그램을 올려야 하는데 메모리 공간이 한정적이다. 따라서 메모리의 연장공간으로 사용해야 하니까 = 즉, swap area 용도로 사용하기 위해서 디스크를 사용하는 것이다. 하드 디스크 쪽에서 swap space는 어떻게 관리되어야 할까? 물리적인 디스크를 파티셔닝을 통해 로지컬 디스크를 맏늘 수 있고 운영체제가..
[운영체제] 27. Disk Management & Scheduling 1
27. Disk Management & Scheduling 1 : 디스크 관리와 스케줄링 Disk Management 디스크를 관리하는 최소의 단위는 섹터이다. 디스크는 원판으로 되어있고, 동심원 각각은 조각조각으로 나뉘어져서 관리가 되고 있는데 그 조각이 섹터라고 한다. 그래서 디스크의 최소 단위는 섹터(sector)이다. 디스크 섹터는 디스크 내부에서 관리하는 단위고, 섹터에서 데이터를 읽고 쓰라는 건 디스크 컨트롤러가 관리하는 것이다. 디스크 외부에서 디스크를 접근하는 단위는 로지컬 블럭(logical block) 단위로 디스크를 바라본다. 컴퓨터 호스트에서는 디스크를 접근할 때 로지컬 블럭 단위로 접근하는 것이다. 로지컬 블럭은 1차원 배열로 구성되어 있다. 그래서 컴퓨터 호스트에서 어떤 디스크에..
[운영체제] 26. File System Implementations 2
26. File System Implementations 2 Page Cache 당장 필요하지 않은 페이지 프레임에 당장 필요한 내용을 메모리에 올려두고, 필요하지 않은 건 쫓아내는 것 페이징 시스템에서 사용하는 페이지 프레임들을 Page Cache라고 부른다. Buffer Cache 버퍼 캐시는 운영체제가 디스크에서 읽어온 내용을 자신의 버퍼 캐시 영역에 저장해두고 사용자의 프로그램에 카피해서 넘겨주기 때문에 다음 번에 동일 데이터에 read write 시스템 콜이 오면 버퍼 캐시 영역에 있는 데이터를 가져다 주는 것이다. 페이지 캐시는 swap area에 있는가 page cache에 올라와 있는가 버퍼 캐시는 파일 시스템 스토리지에 저장되어 있는가, 버퍼 캐시에 올라와 있는가 단위 페이지 캐시의 단위..
[운영체제] 25. File System Implementations 1
25. File System Implementations 1 (반효경) 순차적인 접근, 직접접근 매체에 따라서 테이프는 순차접근만 가능하다. 하드디스크, 플래시메모리, CD는 건너뛸 수 있기에 직접접근이 가능하다. 직접접근이 가능한 매체여도 데이터를 어떻게 관리하느냐에 따라서 순차접근만 가능한 경우일 수도 있는데 오늘은 그 이야기를 할 거다. 디스크에 어떻게 파일 데이터를 할당할 것인지! 디스크에 파일을 어떻게 저장할 건지! 디스크 내부에서는 섹터 단위로 데이터를 저장하고 있다. 임의의 크기의 파일을 블록 단위로 저장하고 있다. 연속 할당 Contiguous Allocation 하나의 파일이 디스크 상에 연속해서 저장되는 방식 블록 2개는 0, 1번을 차지하고, 블록 6개다 -> 19번 ~ 24번까지 차..