Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

Computer Science/운영체제17

16. 파일 시스템 🖥️ 파일 시스템 🖥️ 파티셔닝과 포매팅 완전 새 하드 디스크, SSD는 파티셔닝 포매팅 전에는 사용할 수 없다. 파티셔닝 저장 장치의 논리적인 영역을 구획하는 작업 포매팅(논리적 포매팅) 파일 시스템을 설정 어떤 방식으로 파일을 관리할 지 결정, 새로운 데이터를 쓸 준비 작업 파일 시스템에는 여러 종류가 있고, 파티션마다 다른 파일 시스템을 설정할 수도 있다. 포매팅까지 완료하여 파일 시스템을 설정했다면, 파일과 디렉터리 생성이 가능해진다. 파일 할당 방법 포매팅이 끝난 하드 디스크에 파일을 저장하기. 운영체제는 파일/디렉터리를 '블록 단위'로 읽고 쓴다. 즉 하나의 파일이 보조기억장치에 저장될 때에는 여러 블록에 걸쳐 저장된다는 말. * 하드 디스크의 가장 작은 저장 단위는 섹터이지만, 보통 블록 단.. 2023. 9. 15.
15. 파일과 디렉터리 🖥️ 파일과 디렉터리 🖥️ 파일 시스템(file system) 파일과 디렉터리를 관리하는 운영체제 내의 '프로그램' 파일 - 보조기억장치에 저장된 관련 정보의 집합 - 의미 있고 관련 있는 정보를 모은 '논리적 단위' 파일에는 어떤 정보가 있을까? 파일을 실행하기 위한 정보 + 부가 정보(속성, 메타 데이터) 파일을 다루는 모든 작업은 운영체제에 의해 이루어진다. 즉 파일 연산을 위한 시스템 호출이 필요한 것. 생성, 삭제, 열기, 닫기, 읽기, 쓰기 등.. 디렉터리 (윈도우에서는 폴더(folder)) 절대 경로 루트 디렉터리에서 자기 자신까지 이르는 고유한 경로 ex. /home/toughie/sample.swift 상대 경로 현재 디렉터리에서 자기 자신까지 이르는 경로 ex. 현재 디렉터리 경로가 /.. 2023. 9. 13.
14. 페이지 교체와 프레임 할당 🖥️ 운영체제 🖥️ 페이징을 통해서 물리 메모리보다 큰 프로세스를 실행할 수 있지만, 그래도 물리 메모리의 크기는 한정되어 있다. 따라서 기존에 적재된 불필요한 페이지를 선별해서 보조기억장치로 내보내고(페이지 아웃) 프로세스들에게 적절한 수의 프레임을 할당해야 한다. 요구 페이징 (Demand Paging) 처음부터 모든 페이지를 적재하는 것이 아니라, 필요한 페이지만을(요구되는 페이지만) 메모리에 적재하는 기법. (순수 요구 페이징_일단 실행부터 해보기_페이지 폴트가 계속 발생) 1. CPU가 특정 페이지에 접근하는 명령어를 실행한다. 2. 해당 페이지가 현재 메모리에 있을 경우(유효 비트가 1일 경우) CPU는 페이지가 적재된 프레임에 접근한다. 3. 해당 페이지가 현재 메모리에 없을 경우(유효 비트.. 2023. 9. 10.
13. 쓰기 시 복사, 계층적 페이징 🖥️ 쓰기 시 복사, 계층적 페이징 🖥️ Copy on Write 필요한 부분만(ex 쓰기 작업) 메모리에 적재하는 것! 계층적 페이징(다단계 페이지 테이블 프로세스 테이블의 크기는 생각보다 작지 않다.(프로세스가 커지면 테이블의 크기도 커짐) 프로세스를 이루는 모든 페이지 테이블 엔트리를 메모리에 두는 것은 큰 낭비이다. 프로세스를 이루는 모든 페이지 테이블 엔트리를 항상 메모리에 유지하지 않을 방법. '페이지 테이블을 페이징해서 여러 단계의 페이지를 두는 방식.' - 모든 페이지 테이블이 항상 메모리에 있을 필요가 없어짐. CPU와 가장 가까이 위치한 페이지 테이블(Outer 페이지 테이블)은 항상 메모리에 유지됨. 계층이 많아지면 참조 횟수가 늘어나기 때문에 마냥 계층이 많다고 좋은 것은 아니다. .. 2023. 9. 4.
12. 페이징 가상 메모리 관리 🖥️ 페이징 가상 메모리 관리 🖥️ 가상메모리는 간단하게 실행하고자 하는 프로그램을 일부만 메모리에 적재해서 실제 물리 메모리보다 큰 프로세스를 실행할 수 있게 하는 기술이다. - 페이징, 세그멘테이션 만약 프로세스의 크기가 모두 동일하다면, 외부 단편화는 발생하지 않았을 것. 그럼 프로세스의 크기를 모두 동일하게 만들어 본다면? 페이징(paging) - 프로세스의 논리 주소 공간_(프로세스마다 0부터 N번지)을 페이지(page)라는 일정 단위로 자름. - 메모리의 물리 주소 공간을 프레임(frame)이라는 페이지와 동일한 일정한 단위로 자름. - 페이지를 프레임에 할당하는 가상 메모리 관리 기법 -> 스와핑이 가능하다? 특정 프로세스를 실행하기 위해 꼭 모든 페이지가 메모리에 있어야 하는 것은 아님을 .. 2023. 9. 3.
11. 연속 메모리 할당(적합, 외부 단편화, 압축) 🖥️ 운영체제 🖥️ 프로세스들이 메모리 내에서 연속적으로 할당되는 것. 프로세스 A,B,C,D의 합이 물리 메모리의 크기보다 크더라도, 스와핑을 통해서 동시에 실행할 수 있음.(스왑인, 스왑아웃 반복) 연속 메모리 할당의 3가지 방식 최초 적합, 최적 적합, 최악 적합 but 프로세스를 연속적으로 메모리에 할당하는 방식은 메모리를 효율적으로 사용하는 방법이 아님. '외부 단편화(external fragmentation)'이라는 문제가 발생하기 때문이다. 위와 같이 사용자 영역이 200MB라고 생각해 보자. 여기서 프로세스 A(50MB), 프로세스 B(30MB), 프로세스 C(100MB), 프로세스 D(20MB)를 차례대로 적재해야 한다면? 그리고 프로세스 B와 D가 실행이 끝나서 메모리에서 해제된다. (.. 2023. 9. 3.