본문 바로가기

CONCEPT/OS16

[OS] 파일 시스템 USB 포매팅 예시,파일 시스템은 포매팅할 때 결정된다.                     네모박스 하나하나는 "블록"을 의미한다.블록 안에 적힌 번호는 블록의 위치를 식별하는 "주소"이다. 파일을 저장할 때 파일의 크기가 작다면 적은 수의 블록에 걸쳐서 저장된다. 크기가 크다면 여러개의 블록에 걸쳐서 저장된다.        단점1 설명)임의의 위치에서부터 파일을 읽고 싶을 때 읽어들이는 속도가 상대적으로 느릴 수가 있다.예를들면 파일 a의 중간부터 읽고싶어도 반드시 첫번째 블록인 10번 블록부터 모든 과정을 차례로 읽어야한다.파일a의 길이는 4이지만, 길이가 큰 파일의 경우 처음부터 모든 과정을 순차적으로 읽는다면 속도가 더욱 느려져 성능면에서 비효율적이다. 단점2 설명)하드웨어 고장이나 오류가 발생.. 2025. 3. 20.
[OS] 파일, 디렉터리(폴더) * 파일 시스템(file system): 파일과 디렉터리를 관리하는 운영체제 내의 프로그램, 파일과 디렉터리를 다루어 주는 프로그램* 파일 - 보조기억장치에 저장된 관련 정보의 집합 - 의미 있고 관련 있는 정보를 모은 논리적 단위 - 파일을 이루는 정보: 파일을 실행하기 위한 정보 + 부가 정보 (= 속성, 메타 데이터) 2025. 3. 20.
[OS] 페이지 교체와 프레임 할당 페이징을 통해서 물리 메모리보다 큰 프로세스를 실행할 수 있지만, 그럼에도 물리 메모리의 크기는 한정되어있다.      참조 비트 1: 한번 더 기회 줌(참조 비트 0으로 초기화 후 적재 시간을 현재 시간으로 설정함. )참조 비트 0: 내쫓기    "균등 할당, 비례 할당"은 프로세스의 실행 과정을 고려하지 않고 단순히 프로세스의 크기나 물리 메모리의 크기만 고려한 방식이라는 점에서 "정적 할당 방식"이라고도 부른다.   작업 집합 모델 기반의 프레임 할당 방식과 페이지 폴트 빈도 기반의 프레임 할당 방식은 모두 프로세스가 실행하는 과정을 관찰함으로써 프레임을 할당하는 방식이다. 그렇기 때문에 이 두 가지 방식은 "동적 할당 방식"이라고 부른다. 2025. 3. 18.
[OS] 페이징의 이점, 계층적 페이징 페이징은 2단계, 3단계 그 이상으로도 계층적으로 구성될 수 있다. 다만 이렇게 계층이 너무 많아지게 되면 페이지 폴트가 발생했을 경우에 메모리를 참조해야되는 횟수가 그만큼 많아지기 때문에 계층이 많다고 해서 반드시 좋다라고 보기 어렵다. * 페이지 폴트: 내가 참조하고자 하는 그 페이지가 현재 메모리에 없는 상태를 지칭함. 2025. 3. 18.
[OS] 가상 메모리 - 연속 메모리 할당, 스와핑, 페이징 현재 당장 사용되지 않는 프로세스를 보조 기억장치의 일부 영역(=swap 영역)으로 쫓아내는 과정을 "Swap Out"이라고 함. Swap영역에 있었던 프로세스가 다시 메모리로 적재되는 것을 "Swap In"이라고 함. 2025. 3. 18.
[OS] 교착상태 - 발생조건 4가지 / 해결방법 4가지 * 교착상태: 일어나지 않을 사건을 기다리며 진행이 멈춰 버리는 현상 교착 상태를 해결하기 위해서는?첫째, 교착 상태가 발생했을 때의 상황을 정확히 표현해보기       둘째, 교착 상태가 일어나는 근본적인 이유 이해하기                  (예시- 안전순서열O = 안전 상태)    (예시- 안전순서열X = 불안전 상태)  교착상태가 아주 드물게 발생한다면 잠재된 문제를 그냥 무시해버리자는 태도, 문제 발생의 빈도수나 심각성에 따라서 최대 효율을 추구하는 엔지니어의 입장에서 이 방식이 적합할 때도 있음. 2025. 3. 17.
[OS] 동기화 기법 3가지 - 뮤텍스(Mutex), 세마포어(Semaphore), 모니터(Monitor) * 뮤텍스 락: 상호배제를 위한 동기화 도구  * 세마포: 좀 더 일반화된 방식의 동기화 도구, 공유 자원이 여러 개 있는 경우에도 적용 가능p.s. 뮤텍스 락은 공유 자원이 하나만 있음. 이진 세마포와 비슷함.     * 모니터 2025. 3. 17.
[OS] 동기화 (프로세스, 스레드) * 동기화: 공동의 목적을 위해 동시에 수행되는 프로세스 즉, 프로세스들의 수행 시기를 맞추는 것을 의미함.e.g. 워드 프로세서 프로그램: 맞춤법 검사 프로세스, 입력 내용을 화면에 출력하는 프로세스 등등    * 실행 순서 제어: 프로세스를 올바른 순서대로 실행하기 고전적인 문제) reader writer problem: reader와 writer프로세스는 무작정 아무렇게나 실행되어선 안된다. 실행의 순서가 있기 때문.  reader 프로세스는 'Book.txt 안에 값이 존재한다'는 특정 조건이 만족되어야만 실행 가능하다.  따라서 writer가 먼저 선행되어야함.    * 상호 배제: 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 고전적임 문제1) Bank accont probl.. 2025. 3. 16.
[OS] CPU 스케줄링 알고리즘 7가지 * 선입 선처리 스케줄링 (FCFS) = first come first served  - 단순히 준비 큐에 삽입된 순서대로 처리하는 비선점 스케줄링 - 먼저 CPU를 요청한 프로세스부터 CPU 할당 - 단점: 프로세스들이 기다리는 시간이 매우 길어질 수 있다는 부작용 (= 호위 효과)    * 최단 작업 우선 스케줄링 (SJF) = shortest job first - 호위 효과를 방지하기 위해 CPU 사용이 긴 프로세스는 나중에 실행, CPU 사용 시간이 짧은 프로세스는 먼저 실행 - CPU 사용 시간이 가장 짧은 프로세스부터 처리하는 스케줄링 방식     * 라운드 로빈 스케줄링 (RR) = round robin - 선입 선처리 스케줄링 + 타임 슬라이스 - 타임 슬라이스 (time slice): 각.. 2025. 3. 16.
[OS] 큐(준비 큐, 대기 큐), CPU 스케줄링(선점형, 비선점형) 2025. 3. 15.