본문 바로가기

운영체제7

[운영체제] 메모리 관리 전략 메모리 관리 전략 메모리 관리가 필요한 이유? 메모리의 성능도 올라가지만 그에따라 소프트웨어의 성능도 올라가므로 메모리 부족현상은 계속 발생이 되었다. 제한된 메모리를 최대한 효율적으로 사용하기 위해서 메모리 관리전략이 필요하다. 효율적인 메모리 관리 3가지 동적적재 모든 프로그램을 적재하는것이 아니라 반드시 필요한루틴과 데이터만 적재하는 기법입니다. 루틴: 어느 프로그램이 실행될때 불려지거나 반복해서 사용되도록 만들어진 코드들 입니다. 동적연결 라이브러리 루틴연결을 컴파일 시점에 하는 것이 아닌 실행 시점까지 미루는 기법입니다. 스와핑 실행중이지 않은 프로세스를 저장장치인 swap영역으로 이동하여 메모리를 확보하는 기법입니다. 잦은 스와핑시에 단점 단편화 잦은 메모리 관리가 일어나면 메모리사이에 틈이 .. 2022. 3. 2.
[운영체제] 동기와 비동기, 블로킹과 논블로킹 동기와 비동기의 차이 동기란? 동시에 일어난다는 뜻입니다. 어떠한 요청을 하였을때 응답(결과)을 한자리에서 동시에 일어난다는 뜻입니다.(한가지 일을 하면 결과가 나올때까지는 다른일은 정지가 된다는 뜻입니다.) 비동기 동시에 일어나지 않는다는 뜻입니다. 어떠한 요청을 하였을때 응답이 한자리에 동시에 일어나지 않아도 된다는 뜻입니다.(한가지일을 마칠동안 다른 일도 실행이 된다는 뜻입니다.) 동기의 장/단점 장점: 설계가 단순(직관)하다.(구성하기 쉽다.) 단점: 효율성이 떨어진다. 비동기의 장/단점 장점: 결과가 나오기까지 시간이 걸리지만 다른 작업을 수행할수 있다. (효율성이 좋다.) 단점: 각각의 일마다 결과시간이 달라서 설계가 복잡하다. 추가적인 궁금한부분 비동기와 병렬의 차이? 비동기는 눈속임으로 동.. 2022. 3. 2.
[운영체제] 외부단편화, 내부단편화 주기억장치 할당 기법 단일 분할 할당 기법 다중 분할 할당 기법 다중 분할 할당 기법 주기억장치에 여러 개의 프로그램 동시 적재 기법 다중 프로그래밍을 위한 기법 고정 분할 할당, 가변 분할 할당 MTF(Multiple contiguous Fixed parTition allocation, 고정 분할 할당) 기법 정적 할당 기법 분할된 메모리(크기 일정)에 배치 한 영역에 한 프로그램 적재 가능 단편화 발생 현재는 안 쓰임 단편화 할당과 반납의 과정에서 사용되지 않고 낭비되는 빈 공간 내부 단편화: 공간이 남는 것 외부 단편화: 공간이 작아서 할당을 못하는 것 분할된 메모리 영역 크기 4k, 프로그램 크기가 5K? 외부 단편화 분할된 메모리 영역 크기 4k, 프로그램 크기 2K? 내부 단편화 MVT(Mul.. 2022. 3. 2.
[운영체제] CPU 스케줄링 CPU Scheduler, Scheduling Algorithm CPU Scheduling 단기 스케쥴링이라고도 한다. 단기 스케쥴러(CPU Scheduling)을 리마인드 해보자 메모리와 CPU 사이의 스케쥴링을 담당하는 것으로 어떤 프로세스를 실행(Running) 상태로 전환할 지 결정하는 것이다. 선점과 비선점 선점 (Preemptive) : 자리 뺏기 가능, 누가 앉아서 먼저 자리에 앉아서 작업하고 있는데 그게 끝나든 안끝나든 상관없이 자리를 뺏어서 내 작업 실행하기 즉, 새치기 가능한 방식 비선점 (Non-Preemptive) : 절대 안뺏기는 방식 즉, 새치기 절대 불가능 CPU Scheduing Algorithm First-Come, First-Served (FCFS) 먼저 온 놈 먼저 처리.. 2022. 3. 2.
[운영체제] 데드락 교착상태 개념과 조건 교착상태의 개념과 조건 교착상태(Deadlock)란? 프로세스가 자원을 얻지 못해 다음 처리를 하지 못하는 상태. 한정된 자원을 여러 곳에서 사용하려고 할 때 발생한다. 교착상태 발생의 4가지 조건 교착상태가 발생하기 위해서는 다음의 네가지 조건이 충족되어야 하는데, 이 네가지 조건중 하나라도 충족되지 않으면 교착상태가 발생하지 않는다. 상-점-비-환 상호배제 : 자원은 한 번에 하나의 프로세스만 사용할 수 있어야 한다. 점유대기 : 이미 자원을 사용중인데, 다른 프로세스가 사용중인 자원을 사용하기 위해 대기하고 있는 상태의 프로세스가 존재해야 한다. 즉, 미리 줄 서있어야 한다. 비선점 : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없다. 즉, 새치기 금지! 환형대기(순환대기).. 2022. 3. 2.
[운영체제] Thread-safe란? Thread-safe 멀티 스레드 환경에서 여러 스레드가 같은 공유자원에 접근할때 의도한 대로 동작하는 것 Thread-safe하다라고 표현한다. 공유 자원 접근에 대한 임계 영역을 동기화로 제어해야 한다. - 상호배제라고 부른다. 동기화 방법은 뮤텍스, 세마포어가 있다. 2022. 2. 28.
[운영체제] 캐시 메모리 매핑, 교체, 지역성 캐시 메모리란 주기억장치에서 자주 사용하는 프로그램 or 데이터를 저장해 속도를 빠르게 하는 메모리 주기억장치와 캐시 기억 장치 사이에서 정보 옮기는 행위를 사상(매핑)이라고 함 매핑의 3가지 방법 직접 매핑: 메인 메모리를 여러 구역으로 분할하여 캐시 슬롯과 매핑 장점: 절차가 단순하고 신속 단점: 높은 캐시 미스율 연관 매핑: 메인 메모리의 각 블록이 캐시 어느 슬롯이던 적재 가능 장점: 지역성 높은 접근 시 캐시 적중률이 높다. 단점: 구현이 어려워 구현 비용이 상승한다. 집합 연관 매핑: 캐시와 메모리가 M대 1로 대응한다. 장점: 앞의 두 가지 매핑 방법의 장점을 수용 단점: 구현 비용이 비쌈 캐시 메모리 교체 알고리즘의 종류 Random - 교체될 페이지를 임의 선정 - 오버헤드가 적음 FIF.. 2022. 2. 28.