Computer Science/운영체제(Operating System)9 가상 메모리 목차 가상 메모리 가상 메모리란? 가상 메모리는 실행하고자 하는 프로그램을 일부만 메모리에 적재하여 프로그램이 사용하는 주소 공간을 실제 물리적 메모리 크기와 무관하게 만들어주고 외부 단편화를 해결해주는 방법입니다. 이를 통해 물리적 메모리보다 큰 프로그램을 실행할 수 있게 하고, 메모리를 효율적으로 관리할 수 있도록 도와줍니다. 대표적인 가상 메모리 기법으로는 대표적으로 페이징과 세그멘테이션이 있습니다. 가상 메모리가 필요하게 된 배경 프로그램이 CPU에서 실행되려면 실행에 당장 필요한 부분이 메모리에 올라와 있어야합니다. 여러 프로그램이 동시에 수행되는 시분할 환경에서는 한정된 메모리 공간을 여러 프로그램이 조금씩 나눠서 사용해야 합니다. 따라서 운영체제는 어떤 프로그램에게 어느 정도의 메모리를 할당.. 2024. 4. 5. 교착상태(Deadlock) 목차 교착상태란? 교착상태(Deadlock)란 일어나지 않을 사건을 기다리며 진행을 멈춰버리는 현상입니다. 간단하게 두 프로세스예시를 들어본다면 프로세스 A는 프로세스 B가 사용 중인 자원을 기다리고, 프로세스 B는 프로세스 A가 사용 중인 자원을 기다리고 있는 상태입니다. 이럴 경우 서로 계속 기다리게만 될 것입니다. (교착상태) 비유를 통한 교착 상태 예시 도로에서의 교착상태 앞으로 지나가야하는데 차들이 가로막고 있어 지나갈 수가 없는 상태입니다. 교착상태(Deadlock)를 만드는 네 가지 조건 아래 4가지 조건을 모두 만족하는 경우라면 데드락이 발생합니다. Mutual exclusion(상호 배제) : 리소스를 공유해서 사용할 수 없는 경우(임계구역, CPU, 프린터 등) Hold and wait.. 2024. 4. 5. 동기화(Synchoronization) 목차 동기화(Synchoronization) 동기화란? 동기화는 여러 프로세스나 스레드가 공유 자원에 동시에 접근할 때 발생할 수 있는 문제들을 해결하기 위한 방법입니다. 동기화에는 실행 순서 제어를 위한 동기화와 상호 배제(mutual exclusion)를 위한 동기화가 있습니다. 실행 순서 제어를 위한 동기화 Writer 프로세스는 Book.txt 파일에 값을 저장하는 프로세스이고, Reader 프로세스는 Book.txt 파일에 저장된 값을 읽어 들이는 프로세스라고 가정해 보겠습니다. 이럴 경우, 반드시 Writer 프로세스가 Reader 프로세스보다 먼저 실행되어야지 Reader 프로세스가 올바르게 Book.txt 파일의 값을 읽어올 수 있습니다. 상호 배제(mutual exclusion)를 위한 .. 2024. 4. 4. CPU 스케줄링 목차 CPU 스케줄링 CPU 스케줄링은 운영 체제가 여러 프로세스 또는 스레드가 CPU를 공유하여 사용할 수 있도록 관리하는 메커니즘입니다. CPU 스케줄링의 목적은 CPU 사용률을 최대화하고, 시스템 또는 사용자의 요구 사항에 맞춰 작업 처리 시간을 최적화하는 것입니다. CPU bound process , I/O bound process 일반적으로 프로세스는 CPU 작업과 I/O 작업을 반복하며 실행됩니다. CPU 버스트(burst) : CPU를 이용하는 작업 I/O 버스트(burst) : I/O를 기다리는 작업 각 프로그램마다 CPU 버스트와 I/O 버스트가 차지하는 비율이 균일하지 않습니다. 그중 한 부분의 비율이 유독 높은 프로세스를 CPU Bound process와 I/O bound proces.. 2024. 4. 3. 이전 1 2 3 다음