반응형 Computer Science86 Context Switch (문맥교환) 문맥교환이란, Program1과 Program2가 있을 때, P1을 실행 하던 중 P2로 넘어가는 행위를 말합니다. 그 과정의 예시는 다음과 같습니다. P1의 실행 → P1에서 Interrupt or System Call 발생 → PCB1에 현재 상태를 저장 → PCB2에서 상태를 복원 → P2의 실행 → P2에서 Interrupt or System Call 발생 → PCB2에 현재 상태를 저장 →PCB1에서 상태를 복원 → P1의 실행 위 과정에서 PCB의 저장과 복원을 통해서 유휴 상태에 들어간 프로그램을 다시 이어서 실행합니다. 그 과정에서 걸리는 시간들을 Context Switching Time 이라고 부르고, 이는 순수한 Overhead로 취급됩니다. PCB란, Process Control Bl.. 2024. 1. 18. Protection (보호) 운영체제에는 여러 문제 발생을 막기위한 Protection이 존재합니다. 대표적으로 다음 3가지가 있습니다. I/O Protection Memory Protection CPU Protection 이러한 보호가 존재하는 이유는, 고의든 아니든 I/O나 OS상 시스템 변경 혹은 CPU의 Timer Interrupt의 변경 등등이 일어나게되면, 아무리 변경된 내용이 더 빠를지 언정 문제가 있을지 없을지 검증되지 않았기에 운영체제에서 이를 막아두어야 하기 때문입니다. 먼저 I/O Protection 입니다. I/O Protection은 사용자가 I/O 명령어를 사용할 수 없게하고 OS가 처리하게 하는 작업입니다. 이를 위해 Dual Mode를 활용하여 CPU의 상태를 System Mode(Kernel Mode,.. 2024. 1. 17. 운영체제의 프로그램 관리 컴퓨터 구조론에서 다루었듯이 CPU의 속도는 주기억장치나 보조기억장치에 비해 빠릅니다. 따라서, CPU에서 작업하다 RAM에 접근하기만 해도 CPU 입장에서 시간 손해가 굉장히 큰 일이 발생합니다. 예를들어, 1개의 프로세스가 실행 중이었는데, I/O Request를 받게 되어 RAM에 접근하게되면 그 시간동안 CPU는 놀게됩니다. 이러한 상황을 IDLE 이라고 합니다. 이렇게되면 CPU 속도에 비해 I/O 속도가 느리므로 IDLE 시간이 길어 CPU 활용률이 떨어집니다. 그러므로, 운영체제는 이를 해결하기 위해서 프로그램 실행 중, I/O 요구가 들어오게 되면, 기다리지않고 다른 프로그램을 실행합니다. ex) CPU Busy Waiting(IDLE) 동안 다른 프로그램 실행 → I/O가 완료되면 I/O.. 2024. 1. 17. 캐시 메모리 캐시 메모리는 CPU와 RAM 사이에 위치하며, 메모리 계층구조에 따라 RAM보다 빠르며, 작은 저장공간을 가집니다. 계층구조 상 더 빠른 캐시에 CPU가 원하는 데이터가 있는 경우가 더 빠르므로, 앞선 포스트에서 말했듯 지역성의 원리를 가지는 데이터들을 캐시에 저장합니다. 이때, CPU가 원하는 데이터가 이미 캐시에 있는 경우를 캐시 적중이라고 합니다. 이 캐시 적중률(Hit ratio)는 다음 식으로 구할 수 있습니다. H = 캐시에 적중되는 횟수 / 전체 기억장치 액세스 횟수 그리고 원하는 데이터가 캐시에 없을 확률인 미스율(Miss ratio)는 1 - H가 됩니다. 이 값들을 통해 평균 기억장치 액세스 시간을 구할 수 있습니다. Ta = H * Tc + (1 - H) * Tm (Tc = 캐시 액.. 2024. 1. 16. 이전 1 ··· 5 6 7 8 9 10 11 ··· 22 다음 반응형