반응형

Computer Science/OS 3

[OS] 메모리 단편화(Memory Fragmentation) : 페이징, 세그멘테이션

우리가 컴퓨터에서 어떤 프로그램을 실행하거나 어떠한 작업을 할 때 컴퓨터는 메모리에 해당 프로그램을 올리고 실행하게 됩니다. 그때 메모리의 공간을 연속적인 형태로 할당하여 사용하게 되는데요. 이러한 식으로 RAM에서 메모리 공간이 조각처럼 나뉘게 될 경우 사용 가능한 메모리가 충분히 존재하지만 할당이 불가능한 상태를 메모리 단편화가 발생한다고 이야기 합니다. 그렇다면 메모리 단편화의 종류에 관해 살펴보도록 하겠습니다. 메모리 단편화는 내부 단편화와 외부 단편화로 구분이 가능합니다. 내부 단편화(Internal Fragmentation) 메모리를 할당할 때 프로세스가 필요한 양보다 더 큰 메모리가 할당되어서 프로세스에서 사용하는 메모리 공간이 낭비되는 상황을 이야기합니다. 예를 들어 어떤 프로그램을 실행시..

Computer Science/OS 2020.03.30

[OS] Synchronization 동기화란?

1. 동기화란? 동기화란 컴퓨터 공학의 영역 뿐만 아니라 클라우드 저장소와 같은 우리가 일상 생활 속에서 흔히 접하는 많은 애플리케이션이나 기기에서 접할 수 있는 단어입니다. 그 말의 뜻에서도 알 수 있듯이 무언가 연동된다라는 느낌이 있는 단어입니다. 컴퓨터 공학에서 뜻하는 동기화 역시 이와 다르지 않으며, 동기화란 프로세스 또는 스레드들이 수행되는 시점을 조절하여 서로가 알고 있는 정보가 일치하는 것을 의미합니다. 우리가 알다시피 컴퓨터는 프로세스 또는 스레드로 작업을 실행합니다. 예를 들어 a = 2 라는 자원이 있다고 해보겠습니다. P1이라는 프로세스는 a라는 값을 이용해서 어떠한 로직을 수행합니다. 그런데 만약 그 사이 P2라는 프로세스가 a의 값을 3으로 바꾸게 된다면 어떻게 될까요? 아마 프로..

Computer Science/OS 2020.03.27

[OS] 운영체제 스케줄링

운영체제 스케줄링의 개념과 용어 운영체제 스케줄링이란 시스템의 목표를 달성할 수 있도록 프로세서를 할당하는 일련의 과정을 이야기 합니다. 즉 어떤 프로세스가 cpu를 사용할지를 결정하는 것입니다. 스케줄링 알고리즘은 여러가지가 있는데 이러한 알고리즘의 성능의 기준은 아래와 같습니다. 프로세서 사용률 : 높은게 좋음. 단위 시간당 처리율 : 높은게 좋음. 반환 시간 : 작업이 시스템에서 완전이 끝날 때까지 걸리는 시간. 짧은게 좋음. 대기시간 : ready 큐에서 기다렸던 시간. 짧은게 좋음. 아래는 운영체제 스케줄링에서 사용되는 용어들과 그에 대한 설명들 입니다. PCB (processor control block) 특정 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자체 자료구조입니다...

Computer Science/OS 2020.03.23
반응형