반응형 CS/OS11 [OS] 인터럽트/시스템 콜 인터럽트 인터럽트(interrupt)는 어떤 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것을 말하며, 0으로 숫자를 나누는 산술 연산오류, 프로세스 오류 등으로 발생합니다. 또한 오류뿐만 아니라 키보드, 마우스 등 IO디바이스를 사용할 때의 인터럽트, 우선순위가 높은 프로세스의 발생 등으로 발생 인터럽트의 발생 과정 인터럽트 발생 -> 인터럽트 벡터 -> 인터럽트핸들러 함수 실행 -> 명령어 실행 -> 인터럽트 종료 -> 순차적 명령어 실행 인터럽트의 종류 [하드웨어 인터럽트] IO 디바이스 등 하드웨어에서 발생하는 인터럽트 ex) 마우스 버튼 클릭 시,디스크에서 파일 읽기,쓰기 작업 완료 [소프트웨어 인터럽트] 트랩(trap)이라고도 함. 프로세스 오류, 프로세스의 종료, 시작 등을 기반으로 프로세스.. 2023. 7. 28. [OS] 운영체제와 컴퓨터 시스템의 구조 [운영체제란?] 운영체제는 컴퓨터 내의 하드웨어와 사용자 및 다른 모든 소프트웨어를 관리시켜주는 하드웨어 바로 윗단에 설치되어 있는 소프트웨어입니다. ex) Windows, Max OS, Linux, Unix, Android, IOS 등 운영체제와 컴퓨터시스템의 구조 [운영체제의 종류] 운영체제는 앞단의 어떤 인터페이스를 두누냐에 따라 GUI와 CUI로 나눌 수 있음 GUI(Graphical User Interface)는 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스 ex) windowOS, macOS CUI(Character User Interface)는 사용자가 키보드만을 사용하여 문자를 기반으로 컴퓨터와 상호작용하는 인터페이스 ex) MS-DOS 운영체제의 역할 운영체제의 커널이 담당 커널 ->.. 2023. 7. 27. [OS] Memory Management 🔎 운영체제가 메모리 관리를 어떻게 하는지? 1. 운영체제의(OS)의 역할 운영체제의 가장 핵심적인 기능은 자원을 효율적으로 관리하는 것입니다. HW : (OS의 아랫단 => cpu/memory/io장치) SW : (OS의 윗단) 2. 메모리(Memory)란? 컴퓨터에서 정보를 처리하기 위해 일시적으로 정보를 보관하는 기억장치를 말합니다. 메모리는 CPU가 작업을 수행하는 데 있어 필요할 때 직접 엑세스 할 수 있도록 운영 체제, 응용 프로그램 및 기타 정보등을 저장하는 기억장치입니다. 메모리에는 주소가 매겨지고 프로세스는 주소를 통해 메모리에 접근하여 작업을 수행할 수 있습니다. 3. 메모리 주소(Memory address) 1) 논리적인 주소(Logical address) 프로그램마다 가지고 있는 메.. 2023. 4. 20. [OS] Deadlock .🔎 주요 질문 1. Deadlock(교착 상태)가 뭔가요? 발생 조건에 대해 말해보세요 2. 회피 기법인 banker's algorithm이 뭔지 설명해보세요 3. 교착상을 설명하는 식사하는 철학자 문제에 대해 설명해보세요 Deadlock이 무엇인가요? 두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음 처리를 하지 못하는 상태 무한히 다음 자원을 기다리게 되는 상태를 말합니다. (결과적으로 아무것도 완료하지 못함) P1과 P2가 자원 2,1을 모두 얻어야 한다고 가정해보자 t1 : P1이 자원2를 얻음 / P2가 자원1을 얻음 t2 : P1은 자원1을 기다림 / P2는 자원2를 기다림 현재 서로 원하는 자원이 상대방에게 할당되어 있어서 두 프로세스는 무한 Wait상태에 빠짐 -> Dead.. 2023. 4. 15. [OS] CPU Scheduling 블로그 카테고리 목적 : 🔎 CPU Scheduling의 방법, 특징을 이해하기 위해 복습 : 프로그램 실행시 Cpu burst 와 I/O burst가 번갈아 가면서 실행이 됩니다. 이때, I/O 작업이 별로 없는 경우에는 CPU에서 Instruction을 실행하는 단계인 Cpu burst가 길게 나타납니다. 반대로, I/O 작업이 많은 경우에는 CPU를 연속적으로 쓰는 단계가 짧아지게 되고, I/O burst가 길게 나타나게 되는데 이는 Interrupt가 빈번히 발생하기 때문입니다. (결국 CPU Scheduling은 이런 CPU busrt 시간과 I/O burst 시간을 적절히 조절하기 위해 필요합니다..!) [CPU Schduler] 현재 ready queue에 들어가 있는 프로세스 중에서 어떤 .. 2023. 3. 18. [OS] CPU Scheduling (1차정리) 프로그램이 실행이 되면 어떤 프로그램이든 간에 CPU burst와 I/O burst가 번갈아가며 실행이 됩니다..! 즉 프로그램의 실행은 CPU burst와 I/O burst의 연속입니다 CPU burst, I/O burst가 뭐에요? CPU burst = > CPU명령을 실행하는 것 I/O burst = > I/O를 요청한다음 기다리는 [CPU-burst Time의 분포] I/O bound job : CPU를 짧게 쓰고 I/O작업을 하는 것 (우선적으로 cpu줘보자 효율성!) CPU bound job : CPU만 오래 쓰는 작업 결론 : 여러 종류의 job(=process)이 섞여 있기 때문에 CPU 스케듈링이 필요 CPU Schduler & Dispatcher CPU Scheduler(.. 2023. 3. 17. 이전 1 2 다음 반응형