본문 바로가기

운영체제

(3)
페이징과 세그먼테이션 페이징(Paging)과 세그먼테이션(Segmentation) 두 기법의 사용 이유 다중 프로그래밍 시스템에서 다수의 프로세스를 수용하기 위해 주기억장치를 동적으로 분할하는 메모리 관리 필요 메모리 관리 기법 1. 연속 메모리 관리 기법 프로그램 전체가 메모리에 연속적으로 할당 고정 분할 기법의 경우 내부 단편화 발생 동적 분할 기법의 경우 외부 단편화 발생 **내부 단편화란? 프로세스가 필요한 양보다 더 큰 메모리가 할당되어 메모리 공간의 낭비 발생 **외부 단편화란? 남아있는 공간이 연속적이지 않아 사용할 수 없어 메모리 공간의 낭비 발생 2. 불연속 메모리 관리 기법 프로그램의 일부가 서로 다른 주소 공간에 할당 가능 페이징(Paging) 프로세스의 주소 공간을 페이지(page)란 단위의 고정된 사이..
CPU Scheduling CPU Scheduling 개념 프로세스는 생성되고 난 후 여러 상태를 거치게 된다. 운영체제의 CPU 스케줄러는 Ready 상태의 프로세스 중에서 어떤 프로세스에게 CPU를 할당할지 결정한다. 목적 공평성: 프로세스에게 자원을 배분하는 과정이 공평해야 함 효율성: CPU가 놀면 안 됨 안정성: 프로세스가 증가해도 안정적으로 돌아가야 함 성능 척도 시스템 입장 CPU 사용률(CPU Utilization): 전체 시스템 시간 중 CPU가 작업을 처리하는 시간의 비율 처리량(Throughput): CPU가 단위 시간당 처리하는 프로세스의 개수 사용자 입장 대기시간(Waiting Time): 프로세스가 준비 상태에서 CPU를 할당받을 때까지 대기한 시간 응답시간(Response Time): 프로세스의 명령 요..
인터럽트(Interrupt) 인터럽트(Interrupt) 개념 CPU가 프로그램을 실행하고 있을 때 예외 상황이 발생해 처리가 필요한 경우 현재 실행 중인 작업을 중단하고 발생한 상황을 CPU에게 알려 처리한 후에 다시 실행 중인 작업으로 복귀하는 것 종류 1. 외부 인터럽트 CPU 코어 외부에서 어떤 일이 발생한 것을 전기적인 신호로 CPU에게 통지하는 경우 정전 ·전원이상 인터럽트: 정전 또는 전원 공급 기계고장 인터럽트: CPU 및 기타 하드웨어의 오류로 인한 인터럽트 외부 신호 인터럽트: Timer 나 Operator로 인한 인터럽트 입출력 인터럽트: 입출력의 종료나 입출력의 오류로 인한 인터럽트 2. 내부 인터럽트 CPU 내부에서 실행중인 프로세스에서 오류가 발생했을 때 인터럽트에 걸리는 경우 잘못된 명령이나 데이터를 사용..