목록CS공부/운영체제 (22)
CS 공부

효율적인 매커니즘!!무조건 쓴다. 물리적 메모리보다 큰 프로그램일지라도, 전부가 로드되어 있지 않더라도 프로세스를 실행시킬 수 있다. 또한 논리적 주소와 물리적 주소를 완전히 분리시킨다. Demand paging = 필요할 때만 메모리에 올리는 방식 페이지는 메모리에 올라와있거나 하드디스크에 존재할것이다. 어디에 있는지 구분하기 위해 페이지 테이블의 valid/invalid 비트로 확인한다. 아직 하드디스크에서 swap in 되지 않은 페이지를 요청할 때, Page Fault가 일어남. 페이지 테이블의 valid-invalid bit로 메모리에 있는지 확인 없어서 page fault가 일어나면 page in free frame을 free frame list에서 찾음 메인메모리에 할당해주고, 페이지 테이블..

파일이란 컴퓨터는 정보들을 자기 디스크, 자기 테이프, 광 디스크와 같은 다양한 저장 매체에 저장할 수 있다. 운영체제는 저장장치의 물리적 특성을 추상화하여 논리적 저장을 하는데 이러한 저장 단위가 파일이다. 파일 시스템이란 - 컴퓨터 시스템의 운영체제와 모든 사용자의 데이터와 프로그램의 온라인 저장과 접근을 위한 기법을 제공한다. - 정보 자료를 저장하는 실제적인 파일들의 집합체이다. - 시스템 내의 모든 파일에 관한 정보를 제공하는 디렉토리 구조이다. 특징 - 커널 영역에서 동작 - 파일 CRUD 기능을 원활히 수행하기 위한 목적 - 계층적 디렉터리 구조를 가짐 - 디스크 파티션 별로 하나씩 둘 수 있음 역할 - 파일 관리 - 보조 저장소 관리 - 파일 무결성 메커니즘 - 접근 방법 제공 개발 목적 ..

반입(Fetch) 전략 반입(Fetch) 전략이란 프로그램/데이터를 주기억 장치로 가져오는 시기를 결정하는 전략 반입(Fetch) 전략 종류 요구 반입: 새로 반입된 데이터나 프로그램을 주기억 장치에 언제 위치시킬 것인가 결정하는 방법 예상 반입: 앞으로 요구될 가능성이 큰 데이터 또는 프로그램을 예상하여 주기억 장치로 미리 옮기는 방법 배치(Placement) 전략 배치(Placement) 전략이란 프로그램/ 데이터를 주기억 장치 내의 어디로 위치 시킬 것인가를 결정하는 전략 배치(Placement) 전략 종류 최초적합 - 입력된 작업을 주기억 장치 내에서 그 작업을 수용할 수 있는 첫 번째 공백에 배치한다. 초기 결정력이 가장 빠르다 운영체제 다음부터가 시작점이다. 처음부터 순차적으로 검색하여 적재될..

세그멘테이션 - 프로그램을 동일한 페이지 크기로 분할하지 않고 프로그램 기능에 맞게 분할함 -> 페이징과의 차이점 기능별로 분할한 블록을 세그먼트라하며 주기억 장치를 프로그램별로 구분하지 않고 주기억 장치 전체를 이용하여 적재한다. 주기억 장치 전체에서 분산된 같은 종류의 프로그램을 구분하기 위하여 기억장치 보호키를 이용한다. 세그멘테이션의 특징 - 블록이 가변적이다. - 주기억 장치를 구분하지 않고 주기억 장치 전체를 비연속적으로 할당받아 사용 - 세그멘테이션 기법은 메모리를 효율적으로 관리하기 위해서이다. - 여러개로 분리된 세그먼트가 주 기억장치를 차지할 수 있도록 해주어야 하며, 각 세그먼트는 같은 크기일 필요는 없으나 연결된 기억 장소로 구성되어야한다. - 세그먼테이션 기법에서는 기억 장치 보호..

메모리(Memory) 기억장치의 계층구조 1) 레지스터(CPU) CPU 내에 고속의 기억 장치로 CPU 동작에 필요 내용을 기억한다. 레지스터는 기억 장치 중에 가장 빠르다. 캐시 기억장치와 주기억장치는 직접 참조가 가능하다. 보조 기억 장치는 직접 참조할 수 없다. 2) 캐시 기억장치 (캐시 메모리) - 버퍼를 체계화하고 독립적으로 구성시킨 장치 CPU에 명령어와 데이터를 빠르게 제공하기 위해 주기억장치에 저장되어있는 명령어와 데이터 일부를 복사해서 임시로 저장하는 장치 주기억장치보다 명령어와 데이터를 저장하고 인출하는 속도가 빠름 빠르게 동작하는 CPU와 느리게 동작하는 주기억장치 사이에서 속도 차이를 줄여주는 완충제 역할을 하는 기억장치 CPU는 주기억장치에 접근하기 전에 캐시 기억장치를 먼저확인 ..

내부단편화와 외부 단편화 내부 단편화 메모리에 빈공간이 50mb 있고 C작업이 30MB인데 C작업이 실행을 위해 메모리의 빈공간에 적재된다고하면 20MB가 남게된다. 이런 식으로 남는 공간은 너무 작아 다른 작업이 사용하기 힘들게 되는데 이러한 작은 빈공간 낭비를 내부 단편화라고 합니다. 외부 단편화 메모리에 남아 있는 용량은 100mb이지만 50mb씩 나누어져있어 50MB를 넘는 작업이 메모리에 들어가지 못하는 상황입니다. 즉 작업을 하기에 충분한 공간이 남아 있더라도 실제로 그 작업을 받아 들이지 못하는 경우를 외부 단편화라고 합니다. 이러한 내부 단편화 외부 단편화는 메모리 낭비를 심하게 합니다. 단편화 해결 방법 단편화 통합 인접한 단편화 영역을 혹은 빈 영역을 하나로 합치는 방법으로서 프로그램 ..

경쟁상태 (Race Condition) 두 개 이상의 프로세스가 공통 자원을 병행적으로 읽거나 쓰는 동작을 할 때 공용 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 같지 않고 달라지는 상황을 말함 즉 동기화 매커니즘도 없이 접근 순서에 따라 실행결과가 달라지는 공유자원을 접근하려하는 상황 이러한 경쟁 상태도 교착 상태의 일종 race condition 인 경우에는 스레드의 실행 순서를 잘 조절해주지 않으면 이상한 상태, 비정상적인 상태가 나오게 된다. 이 문제는 항상 발생하는 것이 아니라 특정한 순서대로 수행되었을 때 발생하는 것이다. 이 문제는 디버깅을 할 때에는 전혀 보이지 않는 문제점이고, 발생 시에 모든 프로세스에 원하는 결과가 발생하는 것을 보장할 수 없으므로 후에..

(데드락 회피에 자원할당 그래프, 데드락 무시 추가해야함) 데드락이란 운영체제에서 데드락(교착상태)이란, 시스템 자원에 대한 요구가 뒤엉킨 상태입니다. 즉, 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황을 일컫습니다. 데드락의 발생조건 발생 조건 4개를 모두 충족해야 데드락이 발생한다. 1. 상호배제 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다 사용 중인 자원은 다른 프로세스가 사용하려면 요청한 자원이 해제될 때 까지 기다려야한다. 임계 구역을 두 개 이상의 프로세스가 동시에 접근하지 못 하도록 하는 과정에서 발생 임계 구역이란 다중 프로그래밍 기법에서 두 개 이상의 프로세스가 운영될 때 서로 공유하게 되는 자원 2. 점유대기 자원을 최소한 ..