메모리4 [OS] 8장 가상메모리 8장, 가상메모리 프로그램이 CPU에서 실행되려면, 실행에 필요한 부분이 메모리에 올라와 있어야 한다. 이때 운영체제는 어떤 프로그램에 얼마만큼의 메모리 공간을 할당할지를 결정해야 한다. 프로세스의 빠른 수행을 위해 프로세스마다 최소한으로 확보해야 하는 메모리의 크기가 존재하기 때문에, 균등하게 할당하기보다는 특정 프로그램에 집중적으로 할당하는 방식을 사용한다. 프로그램이 실행되기 위해서 프로세스의 주소 공간 전체가 메모리에 올라와야 하는 것은 아니다. 당장 수행해야 할 부분만 메모리에 올려놓고, 나머지는 디스크의 스왑(swap) 영역에 두었다가 필요할 때 가져와 사용할 수 있다. 이를 통해 프로그램은 물리적 메모리 크기를 고려하지 않아도 된다. 프로세스는 자신만이 메모리를 사용한다고 가정하고 0번지부터.. 2022. 1. 5. [OS] 7장 메모리 관리 7장, 메모리 관리 메모리는 주소를 통해 접근하는데, 메모리 주소는 이진수로 매겨진다. 컴퓨터는 바이트(byte) 단위로 메모리 주소를 부여한다. 메모리 주소는 계층적으로 관리하는데, 보통 4KB(12비트) 단위로 묶어 페이지(page)를 만들어 사용한다. 프로세스는 실행을 위해 메모리에 적재될 때 프로세스를 위한 독자적인 주소 공간이 형성된다. 이 주소를 논리적 주소(logical address) 혹은 가상 주소(virtual address)라고 한다. 각 프로세스에 독립적으로 할당된 논리적 주소는, 0번지부터 시작한다. 물리적 주소(physical address)는 물리적 메모리에 실제로 올라가는 위치를 말한다. 보통 물리적 메모리의 낮은 주소 영역에는 운영체제가, 높은 주소 영역에는 사용자 프로세스.. 2021. 12. 28. [OS] 3장 컴퓨터 시스템의 동작 원리 3장, 컴퓨터 시스템의 동작 원리 컴퓨터는 외부장치에서 내부장치로 데이터를 읽어와 각종 연산을 수행한 후, → 입력(input) 그 결과를 외부장치로 다시 내보내는 방식으로 업무를 처리한다 → 출력(output) 각 하드웨어 장치에는 컨트롤러가 존재한다. 컨트롤러는 일종의 작은 CPU로서, 각 하드웨어 장치를 제어한다. 장치 컨트롤러는, 장치로부터 들어오고 나가는 데이터를 임시로 저장하기 위한 작은 메모리-로컬 버퍼(local buffer)-를 가지고 있다. 컨트롤러는 인터럽트를 발생시켜 CPU에 데이터가 들어왔음을 보고한다. CPU는 매 시점 메모리에서 명령(instruction)을 하나씩 읽어와서 수행하는데, 이때 CPU 옆에 인터럽트 라인(interrupt line)이 있어서 신호가 들어오면 하던 .. 2021. 12. 15. [OS] 2장 운영체제 개요 2장, 운영체제 개요 운영체제(Operating System) 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 컴퓨터에 운영체제가 없다면, 컴퓨터는 고철덩어리에 불과하다. 고철 덩어리를 동작시키기 위해서 필요한 기본적인 소프트웨어가 바로 운영체제다. 사용자가 하드웨어를 다루는 것이 어려우므로, 사용자 입장에서 손쉽게 사용할 수 있도록 기본적으로 운영체제를 탑재한다. 커널(kernel) 운영체제 코드 중에서도 핵심적인 부분 좁은 의미의 운영체제 규모가 큰 운영체제를 모두 메모리에 올려놓고 사용할 수는 없다. 항상 필요한 부분을 메모리에 올려두고 그 외에는 필요한 순간에만 메모리에 올려서 사용한다. 이때 항상 메모리에 상주하는 부분을 커널(ke.. 2021. 12. 15. 이전 1 다음 반응형