컴퓨터언어(271)
-
페이징 기법 관련 용어 정리
👍 페이징 기법 주기억장치(메모리)만을 이용하여 프로그램을 여러 개 적재하기에는 멀티태스킹을 중시하는 현대에 맞지 않다. 프로그램을 여러 개 돌린다는 것은 쪼갠 조각들을 제한된 메모리에 꽉꽉 눌러담았다는 뜻이고, 실행 개수가 많을수록 하나의 프로그램 동작에 필요한 소스코드가 덜 적재되어 결국 성능저하를 일으키기 때문이다. 이는 결국 큰 프로그램 전체를 순차 적재함으로써 나타나는 메모리 용량 문제다. 따라서 각 프로그램을 모두 다루는 것이 아니라 당장 필요한 부분만을 골라 그때그때 적재하는 방법이 필요해졌고, 동시에 주기억장치가 아닌 보조기억장치의 특정 부분(가상기억장치)에서 용량제한 없이 프로그램의 실행을 담당하도록 한 것이 "가상기억장치 다중프로그래밍 방식"이다. 그리고 가상기억장치 내에서 프로그램을 ..
2020.06.30 -
가상기억장치 다중프로그래밍 - 페이징 기법
👍 페이징기법 페이징 기법은 큰 프로그램을 가상기억장치에 그대로 둔 채, 크기가 동일한 "페이지" 단위로 쪼개어 당장 필요한 부분만 그때그때 주기억장치에 적재하는 것이다. 주기억장치에는 페이지와 같은 크기의 "페이지 프레임"이라는 공간이 있어, 페이지의 적재를 기다리고 있다. 페이지가 페이지 프레임으로 들어오는 적재 과정을 "페이지 인(스와프 인)"이라고 하고, 반대를 "페이지 아웃(스와프 아웃)"이라고 하며, 이를 "스와핑(페이지교체)"이라고 통칭한다. 오버레이 vs 스와핑 오버레이 스와핑 공통점 : 작은 메모리에 큰 프로그램을 올리기 위한 방법론 요즘은 쓰이지 않는 초창기 단일프로그래밍 방식 현재 쓰이는 방식 주기억장치만 이용 가상기억장치 이용 프로그램을 쪼개어 순차 실행 프로그램을 페이지 단위로 쪼..
2020.06.30 -
가상기억장치 다중프로그래밍 - 보조기억장치를 주기억장치처럼 사용하기
👍 이전까지의 기술 - 주기억장치의 다중프로그래밍 주기억장치의 다중프로그래밍방식은 주기억장치가 단 하나의 프로그램만을 다루어 CPU 이용률을 낮추는 한계를 보완했다. 즉 여러 프로그램을 같은 크기로 쪼갠 주기억장치(RAM)에 나누어 넣는 정적(고정)분할방식 또는 서로 다른 크기로 쪼갠 주기억장치에 나누어 넣는 동적(가변)분할방식을 채택하여 여러 프로그램들을 동시에 실행할 수 있게 한 것이다. 👍 이전 기술의 문제점과 해결방안 하지만 주기억장치의 다중프로그래밍방식은 이름 그대로 주기억장치"만" 사용하는 것이다. 주기억장치만 사용한다면, 아무리 멀티태스킹이 가능하다고 해도, 계속 발전하는 소프트웨어가 필요로 하는 시스템 요구사항을 만족시키기 어려워진다. 그렇다고 주기억장치를 늘리기에는 RAM의 가격 때문에 ..
2020.06.27 -
주기억장치의 다중프로그래밍
👍 Why do we need? 주기억장치의 단일프로그래밍(하나의 프로그램만을 적재)에는 오버레이가 있었다. 하지만 하나의 프로그램만을 적재하는 것은 CPU 이용률이 낮기 때문에, 한번에 여러 프로그램들을 분할하여 적재하는 다중프로그래밍 방식이 개발되었다. 용어정리 CPU 안에 있는 가장 비싸다는 기억장치인 레지스터는 다음과 같은 주소를 기억하고 있다. 경계레지스터 : 메모리는 컴퓨터가 부팅되면서 운영체제를 적재한다. 운영체제는 무슨 일이 있어도 보호되어야 하기에, 이후 다른 프로그램이 운영체제에 접근하지 못하도록 하기 위해서, 사용자가 실제 사용할 수 있는 메모리 영역의 시작위치를 알려주는 주소. 차폐레지스터 : 경계레지스터로 인해 사용자가 실제 사용할 수 있는 메모리 영역이 정해지고 나면, 다시 그 ..
2020.06.24 -
주기억장치 할당 기법
👍 주기억장치 할당 기법이 뭐에요? 컴퓨터 발전사를 보면, 보조기억장치는 주기억장치보다 늦게 등장하였기 때문에, CPU는 보조기억장치에 직접 접근할 수 없게 설계되었다. 따라서 운영체제는 보조기억장치에 저장된 프로그램을 주기억장치에 적재하여 CPU가 실행할 수 있게 도와준다. 하지만 주기억장치의 크기는 제한되어 있으므로, 운영체제는 하나 또는 여러 개의 프로그램을 어떻게 주기억장치에 적재할 것인지 고민해야 한다. 예전에는 프로그램의 크기가 주기억장치보다 작았기 때문에, 하나의 프로그램을 적재하는 데 큰 어려움이 없었다. 적재되는 것만으로도 그 당시에는 기적이었을 것이다. 이를 "단일 프로그래밍" 방식이라고 한다. 그러나 점점 프로그램의 크기가 주기억장치보다 현저히 커지면서, 보조기억장치에 저장된 하나의 ..
2020.06.24 -
주기억장치 관리전략
👍 주기억장치 관리전략이란? 우리가 컴퓨터를 활용한다는 것은 보조기억장치에 들어있는 데이터, 프로그램을 주기억장치로 불러와 실행하는 것이다. 하지만 주기억장치는 비싸고 용량이 작으므로 공간을 효율적으로 사용해야 한다. 그 방법에는 반입전략, 배치전략, 교체전략이 있다. 👊 반입전략(Fetch) 보조기억장치에 보관중인 프로그램이나 데이터를 "언제" 주기억장치로 반입하여 적재시킬 것인지 결정하는 것 요구반입 : 실제 실행이 필요할 때 되어서야 적재 예상반입 : 실제 실행이 요구되지 않지만 실행 가능성이 높은 데이터/프로그램을 미리 적재 (by 지역성) 👊 배치전략 프로그램이 실행될 때 데이터를 주기억장치의 "어디에" 적재할 것인지 결정하는 것 프로그램이 필요로 하는 용량을 저장할 수 있는 영역들 중 어디에 ..
2020.06.24