본문 바로가기

컴퓨터과학/운영체제5

[운영체제] 가상 메모리 (Virtual memory) Virtual memory 프로그램을 당장 실행에 필요한 부분만 실제 메모리에 올려서 실행 프로그래머는 메모리 크기 제약에서 자유로워질 수 있음 논리 메모리 개념을 통해 엄청나게 큰 메모리 구성 가능 구현이 어려움 잘못 사용하면 성능 저하가 심함 시스템이 멈춰 버릴 수도... MMU(Memory Management Unit) 가상 주소를 물리 주소로 빠르게 맵핑 Demand Paging Valid-Invalid Bit page fault : i인 프레임에 접근하는 경우 아예 참조할 수 없는 경우 abort 메모리에 없을 뿐인 경우 메모리에서 비어있는 프레임을 찾음 찾은 페이지를 프레임으로 swap in 페이지 테이블에서 i를 v로 바꿈 이전 프레임으로 돌아가 재실행 pure demand paging : .. 2021. 1. 22.
[운영체제] 메인 메모리 (Main memory) Main memory 프로세스의 메모리 공간 보호 base register & limit register BR pages page table을 이용해 page와 frame을 매핑 Internal fragmentation 문제 TLB를 통해 page table 접근을 빠르게 CPU가 TLB에 먼저 접근하여 page address를 확인 있으면 바로 물리 주소에 접근 없으면 page table에 접근 Memory protection 연속 할당에서는 base/limit register를 통해 프로세스 메모리 보호 불연속 할당에서는 page table에 protection bit을 이용 (valid-invalid) Shared pages Shared code (I/O 프로세스 등) Private code and.. 2021. 1. 21.
[운영체제] 교착상태 (Deadlocks) Deadlocks 교착 상태 프로세스나 스레드가 결코 일어날 수 없는 특정 이벤트를 기타리는 것 대부분의 교착 상태는 전용 자원을 차지하려는 경쟁에서 발생 순환 대기는 교착 상태에 있는 시스템의 특징 교착 상태 성립 조건 상호 배제 조건 : 자원은 한 번에 한 프로세스에서만 배타적으로 점유 대기 조건 : 자원을 최소 1개 갖고있으면서 다른 자원을 기다리는 상태 비선점 조건 : 시스템이 프로세스의 제어를 빼앗을 수 없음 순환 대기 조건 두 프로세스 이상이 순환 고리 상태 각 프로세스는 고리 안에 있는 다음 프로세스가 점유하고 있는 자원을 대기 교착 상태 해결책 교착 상태 방지 대기 조건 거부 자원을 요청할 땐 어느 자원도 소유하고 있지 않아야함 단점 : 자원의 낭비 비선점 조건 거부 하나 이상의 자원을 소.. 2021. 1. 20.
[운영체제] 동기화 (Synchronization) Synchronization Shared data : 여러 프로세스들이 공유하는 데이터 (Critical data) Critical section (임계구역): 공유 데이터를 접근하는 고드 영역 Mutual exclusion : 둘 이상의 프로세스가 동시에 임계구역에 진입하는 것을 막는것 임계 구역 문제 누가 먼저 공유데이터에 접근? 공유 데이터에 누가 접근하고 있는지? 공유 데이터를 어떤 순서로 접근할지? 솔루션 Mutual Exclusion - 쓰고있으면 다른 프로세스는 못 들어옴 Progress - 누군가 기다린다면, 대기 시간이 무한이되면 안됨 Bounded Waiting - 임계 구역 진입 횟수를 제한하여 독점하지 못하도록 Peterson's Solution sw 수준 two process so.. 2021. 1. 19.