Operating System
-
[Operating System] 파일 시스템Operating System 2024. 8. 8. 15:14
파일 시스템이 어떻게 파일과 디렉토리를 보조기억장치에 할당하고 접근하는지,대표적인 파일 시스템의 종류(FAT 파일 시스템, 유닉스 파일 시스템) 에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' >파티셔닝 : 저장 장치의 논리적인 영역을 구획하는 작업(like 칸막이)→ 이렇게 나누어진 영역들 하나하나를 파티션이라고 합니다.포매팅 : 어떤 방식으로 파일을 관리할지 결정하고, 새로운 데이터를 쓸 준비하는 작업→ 이 포매팅 작업을 통해 파일 시스템이 결정됩니다. 파일 시스템에는 다양한 종류들이 있고, 파티션마다 다른 파일 시스템을 설정할 수 있습니다.보조 기억 장치(HDD, SSD 등)는 파티셔닝, 포매팅 하기 전까지는 사용할 수 없습니다. 포매..
-
[Operating System] 파일 시스템 : 파일과 디렉토리Operating System 2024. 8. 1. 19:11
파일 시스템과 파일 및 디렉토리에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' >파일과 디렉토리를 관리하는 운영체제 내의 프로그램입니다.한 컴퓨터 내에 여러 개의 파일 시스템을 사용할 수도 있습니다. 파일과 디렉토리는 데이터 덩어리일 뿐입니다. 운영체제의 파일 시스템으로 인해 파일과 디렉토리로써 사용될 수 있습니다. >의미 있고 관련 있는 정보를 모아놓은 논리적 단위를 파일이라고 합니다. [ 파일 구성 요소 ]파일을 이루는 정보파일을 실행하기 위한 정보부가 정보 ( = 속성, 메타데이터 ) [ 파일의 속성 ]+. 유형은 확장자로서 특정 지을 수 있습니다.(실행파일은 .exe, .bin / 소스 코드 파일은 .c, .py 등) [ 파일 ..
-
[Operating System] 가상 메모리 : 페이지 교체와 프레임 할당Operating System 2024. 7. 15. 12:49
가상 메모리의 페이지 교체와 프레임 할당에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' >가상 메모리를 이용해 물리 메모리보다 큰 프로세스를 실행할 수 있지만, 그럼에도 물리 메모리의 크기는 한정되어 있습니다.그러므로 - 기존에 적재된 불필요한 페이지를 선별해 보조기억장치로 내보내고 = 페이지 교체- 프로세스들에게 적절한 수의 프레임을 할당해야 합니다. = 프레임 할당 >처음부터 모든 페이지를 메모리에 적재하지 않고, 요구되는 페이지만을 메모리에 적재하는 기법입니다.요구 페이징 시스템이 안정적으로 작동하려면 페이지 교체와 프레임 할당 문제가 해결되어야 합니다. [ 요구 페이징 진행 순서 ]CPU가 특정 페이지에 접근하는 명령어를 실행한다...
-
[Operating System] 가상 메모리 : 쓰기 시 복사와 계층적 페이징Operating System 2024. 6. 22. 21:10
가상 메모리 기법의 쓰기 시 복사와 계층적 페이징에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' >이론적인 fork() 함수는 호출 시 부모 프로세스와 동일한 자식 프로세스가 별도의 메모리 공간에 통째로 복제되어 적재됩니다. 이는 프로세스 생성 시간 지연과 메모리 낭비라는 단점이 있습니다.이를 해결하기 위해 쓰기 시 복사가 나타났습니다. 이를 통해 프로세스 생성 시간과 메모리를 절약할 수 있습니다. [ 쓰기 시 복사 ]1. 부모 프로세스로부터 동일한 자식 프로세스가 복제 되어 생성되면 자식 프로세스와 동일한 프레임을 가리킵니다.(쓰기 작업이 없다면 이 상태 유지) 2. 부모/자식 프로세스 둘 중 하나가 페이지에 쓰기 작업 수행 시 해당 페이..
-
[Operating System] 가상 메모리 : 페이징Operating System 2024. 6. 13. 16:50
현대 운영체제에서 가장 대표적이고 대중적인 가상 메모리 관리 기법인페이징에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' >가상 메모리 관리 기법은 실행하고자 하는 프로그램을 일부만 메모리에 적재하여 실제 물리 메모리 크기보다 더 큰 메모리 공간을 사용할 수 있게 해주는 기술입니다. 외부 단편화 문제도 해결할 수 있습니다.대표적으로 페이징과 세그멘테이션 기법이 있습니다. >프로세스의 논리 주소 공간을 페이지(page)라는 일정 단위로 자르고,메모리의 물리 주소 공간을 프레임(frame)이라는 페이지와 동일한 일정한 단위로 자른 뒤페이지를 프레임에 할당하는 가상 메모리 관리 기법입니다. [ 페이징에서의 스와핑 ]: 프로세스를 실행하기 위해..
-
[Operating System] 가상 메모리 : 연속 메모리 할당Operating System 2024. 5. 20. 13:53
연속 메모리 할당 방식과 한계, 스와핑에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' >프로세스들이 메모리 내에서 연속적으로 할당되는 방식을 연속 메모리 할당이라고 합니다. : 프로세스 A는 A의 크기만큼 메모리 할당, B는 A 다음 B의 크기만큼 할당, C는 B 다음 C의 크기만큼 할당, ... >프로세스는 메모리의 빈 공간에 할당 되어야 합니다.빈 공간이 여러 개 있을 시 최초 적합, 최적 적합, 최악 적합 3가지 방식으로 메모리 할당을 진행할 수 있습니다. [ 최초 적합 (first-fit) ]: 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방..
-
[Operating System] 교착 상태 : 교착 상태 해결 방법Operating System 2024. 5. 20. 12:48
교착상태 해결 방법 중 예방, 회비, 검축 후 회복에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' >애초에 교착 상태가 발생 하지 않도록 교착 상태 발생 조건( 상호 배제, 점유와 대기, 비선점, 원형 대기 ) 중 하나를 없애버림으로써 교착 상태를 예방합니다.교착 상태가 발생하지 않음은 보장할 수 있으나 부작용이 따르는 방식입니다. [ 상호 배제 없애기 ]: 모든 자원을 공유 가능하게 만들기→ 이론적으로는 가능할 수 있겠지만 현식적인 방법은 아닙니다. [ 점유와 대기 없애기 ]: 특정 프로세스에 자원을 모두 할당하거나, 아예 할당하지 않는 방식으로 배분→ 자원의 활용률을 낮출 수 있습니다. [ 비선점 조건 없애기 ]→ 선점이 가능한 자원(ex..
-
[Operating System] 교착 상태 : 교착 상태란Operating System 2024. 5. 20. 12:04
교착상태에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제' >일어나지 않을 사건을 기다리며 진행이 멈춰 버리는 현상을 교착상태라고 합니다.교착상태를 해결하기 위해서는1. 교착 상태가 발생했을 때의 상황을 정확히 표현해보기2. 교착 상태가 일어나는 근본적인 이유 이해하기 교착상태 예시 : 식사하는 철학자 문제 >자원 할당 그래프를 통해 교착 상태가 발생했을 때의 상황을 이해할 수 있습니다.교착 상태가 일어난 그래프는 자원 할당 그래프가 원의 형태를 띄고 있습니다. [ 자원 할당 그래프 그리는 방법 ]1. 프로세스는 원으로, 자원의 종류는 사각형으로 표현 2. 사용할 수 있는 자원의 개수는 자원 사각형 내에 점으로 표현 3. 프로세스가 어떤 ..