전공공부/운영체제
-
11. RAID전공공부/운영체제 2020. 5. 14. 17:02
11.1. RAID왜 사용되나 하드디스크의 장애로 인한 데이터 손실을 방지하기 위해 사용한다. 하드디스크는 사실 상 소모품으로 분류되며 I/O가 많은 서버에는 고장이 잦은 것이 당연하다고 볼 수 있다. 하지만 서버에 저장되는 데이터의 경우 손실 또는 유출 되었을 때 치명적일 수 있다 (ex 은행, 금융, 군사적 목적의 데이터를 관리하는 곳의 경우) 이로 인해 백업이 절대적으로 필요한 경우가 있고 또한, 여분의 디스크가 있어 용량을 증설하려고 할 때 데이터 손실 없이 증설이 필요한 경우가 있다. 그래서 많은 서버 관리자는 RAID 구성을 통해 하드디스크의 가용성을 높이거나 서버 데이터의 안정성을 확보한다. 11.2. RAID란? RAID는 Redundant Array of Inexpensive Disks의..
-
10. 쓰레싱과 프레임 할당전공공부/운영체제 2019. 12. 27. 18:07
프레임 할당 CPU의 이용률과 프로세스의 수는 어떤 관계를 가지고 있을까? CPU의 이용률이 높을수록 효율이 높다고 할 수 있다. 프로세스의 개수가 증가할수록 CPU의 이용률은 증가한다. 왜냐하면 프로세스의 수가 많아지면 적절하게 프로세스에 CPU를 할당할 수 있게 되고 이로 인해 CPU는 항상 일을 할 수 있게 된다. 하지만 앞에서 배운 요구 페이지 기법을 사용하게 되면 일정 범위 이상의 페이지가 메인 메모리에 올라오게 되면 CPU의 이용률이 감소하게 된다. 왜냐하면 페이지가 메인 메모리에서 가득 차 있게 되면 page-in/out을 통해 페이지 결함으로 CPU가 동작을 못 하는 시간이 늘어나기 때문이다. CPU가 동작을 못하는 시간이 늘어나면 당연히 이용률이 낮아지는 것을 의미하고 효율이 감소하게 된..
-
9. 페이지 교체 알고리즘전공공부/운영체제 2019. 12. 27. 17:35
페이지 교체 요구 페이징은 요구되어지는 페이지만 backing store에서 가져와 메인 메모리에 적재하는 방법이다. 필요한 페이지만 메인 메모리에 올려 메모리의 낭비를 줄이는 방법으로 사용된다. valid 비트를 추가한 페이지 테이블과 필요하지 않은 페이지를 보관하는 backing store를 가지고 기능을 수행할 수 있다. 하지만 프로그램 실행이 계속 진행되면 요구 페이지가 늘어나게 되고 언젠가는 메모리가 가득 차게 될 것이다. 페이지를 backing store에서 가져와 메로리에 올려야 되는데 메모리에 없을 때, 메인 메모리에 있는 특정 페이지를 내보내야 할 필요가 있다. 그러고 나서 그 자리에 필요한 다른 페이지를 올려야 한다. 이를 페이지 교체라고 한다. 메모리가 가득 차면 추가로 페이지를 가져..
-
8. 가상 메모리와 요구 페이징전공공부/운영체제 2019. 12. 27. 16:30
운영체제가 메모리관리를 하는 이유에는 제한된 크기의 메모리를 많은 개수의 프로세스가 서로 나누어서 효율적으로 사용할 수 있도록 잘 할당하는 것에 있다. 그래서 앞에서 다뤘던 스와핑이라는 메모리 관리 기법은 한정된 크기의 메모리 내에 보다 많은 개수의 프로세스가 스케줄 되어 실행될 수 있도록 저장장치의 일부 영역까지도 마치 메모리인 것처럼 확장한 개념이다. 하지만 스와핑은 기본적으로 프로세스의 전체를 저장장치로 저장했다가 복구하는 방식을 취하고 있기 때문에 실제 구현하는 데에 있어서는 몇 가지 문제가 발생한다. 이것을 페이징이라는 메모리 관리 기법과 결합해서 보다 정교하게 설계한 것이 바로 가상메모리라는 것이다. 이러한 가상 메모리는 대부분의 운영체제에서 체택하고 있다. 가상메모리 메인 메모리의 크기가 한..
-
7. 메모리 관리 기법(3) - 페이징, 세그멘테이션전공공부/운영체제 2019. 12. 26. 20:48
지금까지 메모리공간을 효율적으로 할당해보기 위해 연속메모리할당, 스와핑에 대해 알아보았다. 이로인해 발생하는 외부 단편화문제를 해결하기 위한 접근방법으로써 페이징이라는 메모리 관리 기법에 대해 알아본다. 페이징 (Paging) 페이지 (page) 단위의 논리- 물리 주소 관리 기법 논리 주소 공간이 하나의 연속적인 물리 메모리 공간에 들어가야 하는 제약 해결 스와핑을 하는 경우에도 디스크에 연속적으로 저장될 필요 없음 페이징은 프로세스가 사용하는 메모리 공간을 잘게 나누어서 비연속적으로 실제 메모리에 할당하는 메모리 관리 기법이다. 그리고 이 잘게 나눈 것의 단위가 페이지라는 것이기 때문에 페이지라는 용어를 쓴다. 그리고 페이징 방식으로 메모리를 할당하게 되면 실제 프로세스가 실행될 때는 각각의 페이지들..
-
7. 메모리 관리 기법(2) - 스와핑, 연속 메모리 할당전공공부/운영체제 2019. 12. 25. 22:41
메모리 관리 기법 메모리 관리의 목적 제한된 물리 메모리의 효율적인 사용이 목적 (할당) - 여러개의 프로세스에게 효율적으로 할당 해야 한다. 효율적인 메모리 참조 (논리 - 물리 주소 변환) - 프로세스가 메모리 주소를 직접적으로 첨조하는 것이 아니라 프로세스의 주소 공간이란 것과 메모리의 주소공간이란 것을 구분하고 있기 때문에 좀 더 빠르게 메모리 주소를 참조할 수 있는 관리 방법도 추가적으로 필요하다. 주요 메모리 관리 기법 스와핑 (Swapping) 연속 메모리 할당 (Contiguous memory allocation) 페이징 (Paging) 세그멘테이션 (Segmentation) 스와핑 부족한 메모리 공간을 좀 더 효율적으로 관리하려는 메모리 관리 기법. CPU에서 시행되지 않는 프로세스 즉 ..
-
7. 메모리 관리(1) - 메모리의 기본 구조와 동작전공공부/운영체제 2019. 12. 25. 20:23
메모리의 기본개념 메모리는 CPU와 같은 반도체 하드웨어로서 일종의 데이터를 저장하는 저장장치 역할을 수행한다. 데이터를 읽고쓰는 속도가 매우 빠르며 cpu가 직접 접근이 가능하다. 또한 전원이 꺼지면 저장 돼 있던 데이터가 모두 사라지는 특성을 가지고 있기때문에 단순히 주소로서만 접근하는 저장공간이라고 할 수 있다. 소프트웨어 즉 프로그램이 실행되기 위해서는 반드시 그 내용이 메모리에 저장돼야 하고 컴퓨터의 메모리관리를 통해 하드웨어는 CPU가 주소만을 가지고 메모리에 있는 데이터를 읽거나 쓸 수 있도록 도와줘야만 한다. 운영체제의 메모리 관리라는 것은 프로세스가 필요한 메모리를 어떻게 얼마만큼 할당해 줄 것인가, 프로세스가 알고있는 주소를 통해서 실제 메모리에 어떻게 접근하도록 하는 것인가 라는 할당..
-
6. 교착상태 (데드락)전공공부/운영체제 2019. 12. 24. 19:22
교착상태 (Deadlock) 운영체제 (또는 소프트웨어)에서 자원을 사용할 때, 두 개 이상의 작업이 순차적으로 상대방의 작업이 끝나기를 기다리면서, 아무것도 진행되지 않는 상태를 말한다. 교착상태 발생 조건 교착상태는 다음 네 가지 조건이 모두 성립될 때 발생한다. 1. 상호 배제 (Mutual exclusion) 한 번에 하나의 프로세스만 공유 자원을 사용할 수 있다. 2. 점유 대기 (Hold and Wait) 각 프로세스가 하나의 자원을 점유하고 있으면서, 다른 프로세스가 사용하고 있는 자원을 추가로 점유하기 위해 대기한다. 3. 비선점 (No preemption) 각 프로세스는 다른 프로세스가 사용하고 있는 자원을 강제로 빼앗을 수 없다. 4. 순환 대기 (Circular wait) 각 프로세스..