[운영체제] 메모리 관리
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 메모리 관리운영체제의 핵심 기능 중 하나인 메모리 관리는 프로세스가 실행되기 위해 필요한 메모리를 적절히 할당하고 관리하는 역할1. 페이징 (Paging) = 분산적재페이징은 프로세스의 주소 공간을 동일한 크기의 블록으로 나누어 메모리에 분산하여 적재하는 방법페이지(Page): 프로세스의 주소 공간을 동일한 크기의 블록으로 나눈 단위.프레임(Frame): 실제 물리적 메모리를 페이지와 동일한 크기로 나눈 블록.특징외부 단편화 없음: 모든 페이지와 프레임의 크기가 동일하기 때문에 외부 단편화 문제가 발생하지 않음주소 변환 필요: 논리 주소를 물리 주소로 변환하기 위해 페이지 테이블을 사용해야함논리 주소 구조:페이지 번호 (p): 논리 주소에서 상위 비트로..
[운영체제] 동기화
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.)프로세스 동기화(Process Synchronization)여러 프로세스가 공유하는 자원의 일관성을 유지하는 것여러 프로세스가 서로 협력해 공유자원을 사용하는 상황에서 경쟁조건(race condition)이 발생하면 공유자원의 신뢰성이 떨어진다. 이를 방지하기 위해 프로세스들이 공유자원을 사용할 때 특별한 규칙을 만드는 것경쟁 상황(race condition)여러 프로세스(또는 스레드)가 공유자원에 동시에 접근할 때 공유자원에 대한 접근 순서에 따라 실행 결과가 달라질 수 있는 상황동시에 접근할 때 자료의 일관성을 해치는 결과가 나올 수 있다.임계구역(critical section)여러 프로세스 또는 스레드가 자원을 공유하는 상황에서 하나의 프로세스만 접..
[운영체제] 스레드
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 스레드와 동기화프로세스와 스레드의 기본 개념프로세스실행 중인 프로그램의 인스턴스리소스 소유권의 단위이며 스케줄링/실행의 단위메모리, I/O 채널, I/O 장치, 파일 등의 리소스를 소유스레드프로세스 내의 실행 단위동일한 프로세스 내의 다른 스레드와 리소스를 공유경량 프로세스(lightweight process)라고도 불림멀티스레딩의 이점1. 응답성 향상프로그램의 일부가 블록되어도 계속 실행 가능I/O와 연산을 동시에 수행 가능RPC(원격 프로시저 호출) 등에서 동시 응답 처리 가능2. 리소스 공유와 비용 절감새로운 PCB 생성이 불필요프로세스 간 전환보다 스레드 간 전환이 빠름동일 프로세스 내 스레드들은 메모리를 통해 직접 통신 가능3. 병렬 처리멀티코..
[운영체제] 프로세스 스케줄링
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 프로세스 스케줄링1. CPU 버스트와 I/O 버스트CPU 버스트: CPU가 작업을 실행하는 데 걸리는 시간I/O 버스트: CPU가 I/O를 대기하는 데 걸리는 시간CPU - I/O 버스트 주기: 각 프로세스 실행은 CPU 실행 및 I/O 대기 주기로 구성프로세스 유형에 따라 CPU 및 I/O 버스트가 변경될 수 있음.(a) CPU 기반: 긴 CPU 버스트 후 I/O 차단(b) I/O 기반: 짧은 CPU 버스트 후 I/O 차단2. 프로세서 스케줄링의 목적프로세서를 시스템 목표를 충족하는 방식으로 실행할 프로세스를 할당.3. 프로세서 스케줄링의 유형장기 스케줄링: 새로운 프로세스를 시스템에 진입시킬지 결정.중기 스케줄링: 멀티프로그래밍 정도를 제어하고 프로..
[운영체제] 프로세스 관리
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 실행 모드대부분의 프로세서는 두 가지 이상의 실행 모드를 지원모드연산자메모리CPU 레지스터커널(시스템)모든 연산자 실행모든 곳 접근모든 레지스터 접근유저연산자 특권 없음내 메모리 영역만특수 레지스터 없음모드 스위치모드 스위치는 현재 실행 중인 프로세스의 상태를 변경하지 않고 사용자 모드와 커널 모드 간에 프로세서를 전환할 수 있다.이 과정에는 모드 컨텍스트 저장/복원에 따른 오버헤드가 포함됨.인터럽트비동기적인 외부 예외트랩현재 명령어 실행시스템 호출요청에 의해모드 스위치의 주요 원인인터럽트: 비동기적인 외부 예외트랩: 현재 명령어 실행 중 발생시스템 호출: 프로그램의 요청에 의해 발생프로세스 컨텍스트와 인터럽트 컨텍스트프로세스 컨텍스트: 프로그램이 시스..