본문 바로가기

CS/OS8

가상 메모리 (페이징) [혼공컴구] 가상 메모리 - 실행하고자 하는 프로그램을 일부만 메모리에 적재하여 실제 물리 메모리 크기보다 더 큰 프로세스를 실행할 수 있게 하는 기술 페이징 - 메모리와 프로세스를 일정한 단위로 자르고, 이를 메모리에 불연속적으로 할당하는 방법 - 프로세스의 논리 주소 공간을 페이지라는 일정한 단위로 자르고, 메모리 물리 주소 공간을 프레임이라는 페이지와 동일한 크기의 일정한 단위로 자른 뒤 프레지를 프레임에 할당하는 가상 메모리 기법 - 프로세스 전체를 스와핑하는 것이 아닌 페이지 단위로 스왑 - 스왑 인 -> 페이지 인 - 스왑 아웃 -> 페이지 아웃 - 프로세스를 이루는 페이지 중 실행에 필요한 일부 페이지만을 메모리에 적재하고, 당장 실행에 필요하지 않은 페이지들은 보조기억장치에 남겨둠 페이지 테이블 - 프.. 2024. 1. 31.
메모리 스와핑 [혼공컴구] 스와핑 - 대기 상태이거나, 오래 사용하지 않은 프로세스글을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리 상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식 - 스왑 영역 - 프로세스들이 쫓겨나는 보조기억장치의 일부 영역 - 스왑 아웃 - 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것 - 스왑 인 - 스왑 영역에 있던 프로세스가 다시 메모리로 돌아오는 것 - 스와핑을 이용하면 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 프로세스들을 동시에 실행 가능 메모리 할당 - 최초 적합 - 메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식 - 프로세스가 적재될 수 있는 공간을 발견하는 .. 2024. 1. 31.
프로세스 동기화 [혼공컴구] 프로세스 동기화 - 프로세스들 사이의 수행시기를 맞추는 것 - 동기화 방법 - 실행 순서 제어 - 프로세스를 올바른 순서대로 실행하기 - 상호 배제 - 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기 - 실행 순서 제어를 위한 동기화 - 동시에 실행되는 프로세스를 올바른 순서대로 실행하는 것 - 예시) - Read 프로세스, Write 프로세스와 같이 읽고 쓰기 순서가 중요한 프로세스는 순서 동기화가 잘 되어야함 - Read 프로세스는 특정 위치에 값이 존재한다는 조건 하에 실행을 이어나갈 수 있으므로 동시에 실행되는 Write 프로세스의 순서가 잘 제어되야 함 - 상호 배제 - 공유가 불가능한 자원의 동시 사용을 피하기 위해 사용하는 알고리즘 - 동시에 접근해서는 안되는 자원에 동시에.. 2024. 1. 18.
스케줄링 알고리즘 [혼공컴구] CPU 스케줄링의 목적 - 공평성 - 모든 프로세스가 자원을 공평하게 배정 - 자원 배정 과정에서 특정 프로세스가 배제되어서는 안됨 - 효율성 - 시스템 자원이 유휴 시간 없이 사용되도록 스케줄링 - 유휴 자원을 사용하려는 프로세스에 우선권 - 안정성 - 우선순위를 사용하여 중요 프로세스가 먼저 작동하도록 배정함 - 시스템 자원을 점유하거나 파괴하려는 프로세스로부터 자원을 보호 - 확정성 - 프로세스가 증가해도 시스템이 안정적으로 작동하게 조치 - 시스템 자원이 늘어나는 경우 이 혜택이 시스템에 반영되도록 조치 - 반응 시간 보장 - 응답이 없는 경우 사용자는 시스템이 멈춘 것으로 가정 - 시스템은 적절한 시간 안에 프로세스의 요구에 반응 - 무한 연기 방지 - 특정 프로세스의 작업이 무한히 연기되어서는.. 2023. 12. 22.