본문 바로가기
  • 게임 개발과 프로그래밍 그리고 인공지능

2024/10/188

파일 시스템 2 - 파일 시스템 1 : 파티셔닝과 포매팅 및 파일 할당 방법 드디어 마지막 단원이다. 여기까지 오느라 정말 수고가 많았다. 오늘은 그런 내게 잘했다고 말해주고 싶었다. 그럼 바로 이어서 공부를 시작해볼 것이다.앞서 학습한 파일과 디렉터리가 보조기억장치에 저장되며, 파일 시스템은 이들이 어떻게 접근하는지 학습해보겠다. 파일 시스템에는 다양한 종류가 있고, 하나의 컴퓨터에서 여러 파일 시스템을 사용할 수 있다. 파티셔닝과 포매팅 커다란 서랍 안에 마구잡이로 물건들을 보관하면 필요한 물건을 정돈하는 게 쉽지 않다. 하지만 서랍 안에 칸막이를 설치하여 영역을 나무면 물건들을 정리하기가 조금 더 수월하다. 이렇게 칸막이로 영역을 나누는 작업이 파티셔닝이다. 파티셔닝 작업을 통해 나누어진 영역 하나하나를 파티션이라고 한다. 검색창에 '하드 디스크 파티션 만들기 및 포.. 2024. 10. 18.
파일 시스템 1 - 파일과 디렉터리 드디어 마지막 장이다. 언제 이 책을 끝마치나 했는데 계속하다 보면 이런 날이 오는 것 같다. 그것도 5일 만에 말이다. 사실 4일 만에 다 끝내고 싶었으나 그건 무리였다. 5일이라는 시간 동안 컴퓨터 구조와 운영체제에 대해 정말 많은 것들을 배웠다. 이제 2~3개의 포스트만 기록하면 다 마칠 수 있을 것 같다. 파일 시스템은 파일과 디렉터리를 관리한다. 파일 시스템에 관해 본격적인 학습에 앞서 파일 시스템이 관리하는 파일과 디레터리에 대해 학습해보겠다. 이번 절에서는 파일 시스템을 본격적으로 학습하기에 앞서 파일과 디렉터리에 대해 학습해 보겠다. 파일우리가 일상적으로 컴퓨터를 이용할 때 파일 단위로 이용한다. 파일의 형식, 위치. 크기 등 파일과 관련된 다양한 정보들이 나타난다. 이러한 정보가.. 2024. 10. 18.
가상 메모리 5 - 페이징의 이점과 계층적 페이징 다시 힘을 내서 남은 1시간 동안 공부를 진행해보려고 한다. 이 내용은 가상 메모리 두 번째 장에 추가 내용으로 실려있었던 내용이었다. 혼자서 공부를 해보려다 너무 어려워서 포기했던 부분이었다. 마침 강의가 있으니 들으면서 정리해 볼 것이다. 페이징의 이점 - 쓰기 시 복사외부 단편화 문제를 해결한다는 점 이외에도 페이징이 제공하는 이점은 다양하다. 대표적인 것이 프로세스 간에 페이지를 공유할 수 있다는 점이다. 대표적인 예시로 쓰기 복사가 있다. 계층적 페이징 여러 단계의 페이지를 둔다는 점에서 다단계 페이지 테이블 기법이라고도 부른다. 프로세스의 페이지 테이블을 여러 개의 페이지로 자르고, 바깥쪽 페이지 테이블을 하나 더 두어 잘린 페이지의 테이블의 페이지들을 가리키게 하는 방식.. 2024. 10. 18.
가상 메모리 4 - 페이지 교체와 프레임 할당 14장의 마지막 장인데 이 내용도 만만치 않은 주제이다. 앞선 절에서 페이징의 기본적인 개념에 대해 학습했다면 이번 절에서는 운영체제가 수많은 페이지를 어떻게 관리하는지 학습해 볼 것이다. 이번 절에서는 요구 페이징의 개념과 페이지 교체 알고리즘, 그리고 프레임 할당에 대해 학습하며 운영체제가 이러한 기능을 어떻게 수행하는지 알아보겠다. 요구 페이징 아무런 페이지도 메모리에 적재하지 않은 채 무작정 실행부터 할 수도 있다. 이 경우 프로세스의 첫 명령어를 실행하는 순간부터 페이지 폴트가 계속 발생하게 되고, 실행에 필요한 페이지가 어느 정도 적재된 이후부터는 페이지 폴트 발생 빈도가 떨어진다. 페이지 교체 알고리즘 여기서 연속된 페이지를 생략한 페이지열이 페이지 참조열이다. 연속된 .. 2024. 10. 18.
가상 메모리 3 - 페이징을 통한 가상 메모리 관리 2 : 페이징에서의 주소 변환 및 페이지 테이블 엔트리 이어서 페이징 기법을 학습해볼 것이다. 4교시가 얼마 남지 않았으니 이 단원 학습을 빨리 마치고 싶다. 페이징에서의 주소 변환 페이지 번호는 접근하고자 하는 페이지 번호이다. 페이지 테이블에서 해당 페이지 번호를 찾으면 페이지가 어떤 프레임에 할당되었는지 알 수 있다. 변위는 접근하려는 주소가 프레임의 시작 번지로부터 얼만큼 떨어져 있는지를 알기 위한 정보이다. 논리 주소의 변위와 물리 주소의 변위 값은 같다. 가령 CPU와 페이지 테이블, 메모리 상태가 현재 아래와 같다고 해보자. 하나의 페이지/프레임이 네 개의 주소로 구성되어 있는 간단한 상황을 가정했다.CPU가 접근하게 될 물리 주소는 어디일까? 5번 페이지는 현재 1번 프레임에 있다. 그렇다면 CPU는 1번 프레임, 변위 2에 접근하.. 2024. 10. 18.
가상 메모리 2 - 페이징을 통한 가상 메모리 관리 1 : 페이징의 개념 및 페이지 테이블 조금 쉬었으니 다시 공부를 시작해 볼 것이다. 페이징은 현대 운영체제 메모리 관리 기법에 있어 가장 중요한 개념이라 해도 과언이 아닐 만큼 중요하다. 페이징이 왜 생겨나게 되었으며, 어떤 원리도 작동하는지 이해해 볼 것이다. 4GB 메모리가 설치된 컴퓨터로는 4GB 이상의 프로그램을 실행할 수 없다. 페이징 기법을 이용하면 물리 메모리보다 큰 프로세스를 실행할 수 있을 뿐만 아니라 외부 단편화 문제도 해결할 수 있다. 페이징이란 외부 단편화는 발생하지 않는다. 프로세스를 이루는 페이지 중 실행에 필요한 일부 페이지만을 메모리에 적재하고, 당장 실행에 필요하지 않은 페이지들은 보조기억장치에 남겨둘 수 있다. 페이지 테이블 CPU로 하여금 페이지 번호만 보고 해당 페이지에 .. 2024. 10. 18.
가상 메모리 1 - 연속 메모리 할당 수학 공부도 마쳤고 이제 아침 공부가 3시간도 남지 않았지만 가능하면 14장 학습을 마쳐보려고 한다. 14장은 가상 메모리 단원인데 3개의 절로 이루어져 분량이 정말 많다. 차근차근 학습해 보기로 하자. 이제 고지가 얼마 남지 않았다.운영체제의 가장 핵심적인 역할을 꼽으라 한다면 프로세스 관리와 메모리 관리라 할 정도로 중요한 영역이다. 지금까지 운영체제의 프로세스 관리에 대해 알아보았다면 이번에는 큰 주제를 전환하여 운영체제의 메모리 관리 기법에 대해 알아볼 것이다. 이번 절에서는 기본적인 메모리 관리 기법인 스와핑과 메모리에 프로세스를 할당하는 방식, 그리고 연속 메모리 할당의 부작용인 외부 단편화에 대해 학습해보겠다. 지금까지는 메모리 내에 프로세스들이 연속적으로 배치되는 상황을 가정했다. 위의.. 2024. 10. 18.
교착 상태 2 - 교착 상태 해결 방법 오늘의 마지막 새벽 공부를 시작해본다. 어제 오후에 낮잠을 많이 잔 관계로 오후 5시 반부터 새벽 5시가 넘도록 12시간 연속 공부를 하는 중이다. 중간에 저녁을 먹느라 30분 정도 쉬었을까 나머지는 모두 열공 중이다.앞선 포스트에서 교착 상태가 어떨 때 발생하는지에 대해서 학습했다. 운영체제는 교착 상태를 회피할 수도, 예방할 수도, 검출 후 회복할 수도 있다. 이러한 각각의 해결 방법에 대해 알아보겠다. 운영체제는 애초에 교착상태가 일어나지 않도록 교착 상태 발생 조건에 부합하지 않게 자원을 분배하여 교착 상태를 예방할 수 있다. 교착 상태가 발생하지 않을 정도로 조금씩 자원을 할당하다가 교착 상태의 위험이 있다면 자원을 할당하지 않는 방식으로 교착 상태를 회피할 수도 있다. 그리고 자원을 제약 없.. 2024. 10. 18.