예방 스래싱의 효과는 지역 교환 알고리즘이나 우선 순위 교환 알고리즘을 사용하여 제한 시킬 수 있는데, 지역 교환 알고리즘을 이용하면 하나의 프로세스가 스래싱을 발생하게 되더라도 다른 프로세스로부터 프레임을 갖고 올 수 없게 되므로, 다른 프로세스를 스래싱 현상에 빠뜨릴 수 없게 됨 여러 프로세스가 스래싱을 일으키게 되면 대부분의 시간을 페이징 처리 장치를 기다리는 큐에서 보내게 되므로, 페이지 부재 처리를 위한 평균 시간이 증가하게 되어 Denning은 50% 수준의 다중 프로그래밍 정도를 제안하고 있으며, 가장 확실한 예방은 프로세스가 요구하는 프레임 수를 제공하는 것 지역성(Locality) 실행 중인 프로세스에 의해 나타나는 특성으로, 프로세스들은 실행 기간 동안 메모리 내의 페이지들을 균일하게 ..
교착 상태 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상 무한 연기 다른 프로세스들이 시스템에서 스케줄링 되어 처리되는 동안 특정 프로세스의 스케줄링이 무기한으로 연기될 수 있는 현상 발생 원인은 시스템(운영체제)의 편중된 자원 할당 정책 노화(Aging) 방법은 프로세스가 자원을 기다리고 있는 시간에 비례하여 우선순위를 부여함으로써 무한 연기 문제를 방지 무한 연기 교착 상태 어떤 특정 프로세스가 자원을 받기 위해 무한정 기다리는 상태 운영체제의 자원의 편중된 분배 정책으로 발생하며, 노화 기법에 의해 해결 어떤 프로세스가 아무 일도 못하고 어떤 특정 사건(자원의 할당과 해제)를 기다리면 무..
조건 내용 상호배제 (Mutual Exclusion) 한번에 하나의 프로세스만이 공유 자원을 사용할 수 있음 점유와 대기 (Hold & Wait) 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용 중인 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함 비선점 (Non-Preemption) 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함 환형 대기 (Circular Wait) 공유 자원을 사용하기 위해 대기하는 프로세스들이 각자 자신에게 할당됨 자원을 점유하고 앞에 있는 프로세스의 자원을 요구하면서 원형으로 구성되어 있음
예방 기법 교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법으로, 교착 상태 발생 조건 중 어느 하나를 부정함으로써 수행되나 자원의 낭비가 심한 방법 기법 내용 상호 배제 조건의 부정 프린트와 같은 장치에 적용 불가 점유와 대기 조건의 부정 프로세스가 실행되기 전에 프로세스가 필요로 하는 모든 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함 장치 사용하기 전에 사용하려는 모든 장치를 동시에 선점으로 비효율적인 방법 비선점 조건의 부정 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고, 요구한 자원을 사용하기 위해 기다리게 함 CPU에는 적용할 수 있으나, 프린터와 같은 장치에는 적용 불가 환형 대기 조건의 부정 자원..
스케줄링의 정의 다중 프로그램을 지원하는 운영체제에서 CPU 활용의 극대화를 위해 프로세스를 효율적으로 CPU에 할당하는 것 스케줄링은 프로세서의 효율성을 높이고, 시스템의 작업 처리 능력을 향상시키고, 요구된 작업의 응답 시간을 최소화하여 전체적인 시스템의 목표를 달성하기 위해 다중 프로세서 또는 단일 프로세서에게 정해진 시간 내에 실행될 프로세스를 할당하는 과정 스케줄 되는 프로세스 사용자 프로세서 또는 시스템 호출에 의해 발생되는 시스템 프로세서 스케줄 되지 않는 프로세서 인터럽트 처리, 오류 처리 및 사용자의 시스템 호출에 있어서의 사전 처리 스케줄링의 목적 고정한 스케줄링 단위시간당 처리량의 최대화 적정한 응답 시간 예측 가능한 반환 시간 과부하 최소화 자원 사용의 균형성 응답 시간과 자원 이용..
스케줄링의 단계 프로세서 스케줄링은 프로세스들이 언제 어느 프로세서에 할당될 것인가에 대한 결정을 의미하며, 다음의 세 단계가 고려됨 1단계 어느 작업이 시스템 내의 자원을 실제로 사용하도록 할 것인지를 결정하므로, 작업 스케줄링이라고 함 수행 빈도로 표현하면 장기 스케줄링 2단계 어느 프로세스에게 프로세서를 사용할 권한을 줄 것인지를 결정하고, 시스템의 부하가 변동함에 따라 어느 프로세스를 잠정적으로 연기할 것인지를 결정 수행 빈도로 표현하면 중기 스케줄링 3단계 디스패처에 의해 준비 상태에 있는 프로세스 중에서 어느 프로세스에게 프로세서를 할당할 것인지를 결정 프로세스[Process] : 컴퓨터 내에서 실행중인 프로그램을 일컫는 용어 프로세서[Processor] : 컴퓨터의 연산 장치와 제어 장치를 ..
스케줄링 알고리즘 기준 CPU 이용률과 처리율을 최대화하고 반환 시간, 대기 시간, 응답 시간을 최소화 함 기준 내용 CPU 이용률 프로세스들이 CPU를 이용하는 비율 처리율(Throughput) 단위 시간당 완료 되는 작업의 수 반환 시간(Turnaround Time) 진입한 시간과 완료한 시간의 차이 대기 시간(waiting Time) 대기 큐에서 대기하면서 보낸 시간 응답 시간(Response Time) 대화식 시스템에서 하나의 작업을 제출한 후, 첫 번째 응답이 나오는 데 걸리는 시간 ▶ 스케줄링 알고리즘 기준 스케줄링 알고리즘의 종류 우선순위 스케줄링 각 프로세스에게 우선 순위를 부여하여 높은 순서대로 처리하는 방법 정적 우선순위 방법 : 우선순위가 불변 동적 우선순위 방법 : 상황에 따라 우선..
DMA의 정의 CPU를 대신하여 I/O 장치와 메모리 사이의 데이터 전송을 담당하는 장치 CPU의 개입 없이 주변 장치와 주기억 장치간의 데이터 전송이 이루어지는 방법 DMA의 전송 방식인 사이클 스틸링 DMA가 메모리에 접근하려면 버스를 사용하여야 함 버스의 사용권은 CPU가 관장 DMA가 작업하는 동안 CPU는 다른 작업을 수행 CPU와 DMA가 동시에 버스를 사용하고자 하는 경우, 속도가 빠른 CPU가 느린 DMA에게 한 메모리 사이클 동안 버스 사용권을 먼저 주는 것
정의 DMA가 메모리 데이터 전송을 위해 CPU의 한 메모리 사이클 동안 버스 사용권을 우선하여 갖게 하는 것 사용 목적 DMA가 메모리에 접근하려면 버스를 사용해야 하는데, CPU가 우선하여 사용하게 됨으로써, DMA는 사용할 수 없는 상태가 지속되는 자원 부족(Starvation) 현상의 문제를 해결하기 위함 사이클 스틸링을 이용한 DMA의 문제점 데이터를 전송할 때마다 시스템 버스를 두 번 이용하므로 성능이 저하 Read/Write의 경우 데이터 블록이 512바이트 보다 클 경우 데이터를 버퍼링하는 내부 기억 장치가 필요 해결책으로, I/O 프로세서(Channel)를 사용하여 프로세서와 독립적으로 입.출력만을 제어 사이클 스틸링의 구현 방법 DMA 제어기가 메모리 사이클을 요청 메모리 제어기(CPU..
DMA의 동작 주변 장치가 DMA 요청 DMA는 CPU에 인터럽트를 발생 CPU는 인터럽트를 받아 콘솔 정보를 데이터 버스를 통해 보냄 I/O 장치의 주소, I/O 모드, 메모리 시작 주소, 전송될 데이터 단어들의 수 DMA는 주변 장치에 ACK를 보냄 주변 장치는 ACK를 받고 버스에 데이터를 보냄 DMA가 메모리를 사용하고자 할 때, CPU는 속도가 느린 DMA에게 버스 사용권을 부여 DMA의 특징 프로그램 수행 중 입.출력을 위한 인터럽트의 발생 횟수를 최소화하여 컴퓨터의 효율을 높임 CPU는 DMA와 상태 정보 및 제어 정보만 주고 받음 속도가 빠른 디스크, 테이프 드라이버에서 사용됨 메모리 사상 I/O(Memory Mapped I/O) 주기억 장치의 주소 공간을 입.출력 포트에 할당 메모리의 특..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.