-
OS: 스풀, CISC, 데드락os 운영체제 2024. 3. 27. 21:08
스풀(Simultaneous Peripheral Operation On-Line):
CPU와 IO가 독립적으로 동작하도록 함,
I/O가 CPU보다 느림 -> 대기시간 발생 -> 이를 해결하기 위해 스풀러가 고안됨
스풀러는 디스크를 매우 커다란 버퍼로 사용함 (원래는 메인메모리를 버퍼로 사용)
다중 프로그래밍 환경에서 다수의 프로세스들이 서로 입출력 장치를 요구하거나 그 장치의 수가 제한 되어 있는 경우
이를 공유하기 위해 가상장치를 각 프로세스에게 제공해준다.
CPU와 I/O가 혼합된 작업의 경우, I/O의 처리를 기다리지 않고 이를 가상장치를 통해 디스크에 넣어둔 다음,
CPU가 다른 작업을 수행할 수 있게 한다
스풀링은 스풀을 적용하는 것 또는 스풀을 위해 마련된 저장공간을 채우는 동작을 뜻한다.
스풀러(인쇄 관리 소프트웨어)는 우선 순위를 작업에 할당할 수 있게 하고, 인쇄할 때 사용자에게 알리며, 프린터끼리 서로 작업을 나누는 등의 일을 담당한다.
CISC의 특징:
복잡한 명령어:
CISC 아키텍처는 명령어가 복잡하며, 하나의 명령어로 여러 작업을 수행할 수 있음.
이로 인해 명령어를 해석하는 데 시간이 더 걸리고, 해석에 필요한 회로도 복잡함.
풍부한 어드레싱 기능:CISC는 다양한 어드레싱 모드를 지원하여, 명령의 직교성이 좋고, 다양한 연산을 수행할 수 있음.
마이크로 프로그램 방식:
복잡한 명령어 처리를 위해, CISC는 종종 마이크로 프로그램 방식을 채택.
이는 명령어를 더 작은 단위로 나누어 처리하는 방식.
CISC의 장단점:
장점: 명령어의 길이가 가변적이어서 명령어 밀도에서 유리하며, 복잡한 명령어 세트 설계가 바이트 단위로 깔끔해짐.
단점: 명령어의 복잡성으로 인해 해석 시간이 길어지고, 회로 설계가 복잡해짐.
데드락:데드락은 운영체제/소프트웨어에서 두 개 이상의 프로세스나 스레드가 서로의 작업이 끝나기만을 무한히 기다리는 상태.
이 상태에서는 시스템이 멈춰버리는 현상이 발생할 수 있음
데드락의 발생 조건:
상호 배제(Mutual Exclusion): 한 번에 하나의 프로세스만이 특정 자원을 사용할 수 있게함.
점유 대기(Hold and Wait): 최소한 하나의 자원을 점유하고 있으면서, 다른 프로세스에 할당된 자원을 추가로 점유하기 위해 대기하는 프로세스가 존재해야 함.
비선점(No Preemption): 이미 할당된 자원은 사용 중인 프로세스가 스스로 해제하기 전까지는 강제로 빼앗을 수 없음.
순환 대기(Circular Wait): 대기 중인 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 함.
데드락 해결 방법:
예방(Prevention): 데드락 발생 조건 중 하나라도 발생하지 않도록 하는 방법.
회피(Avoidance): 데드락 발생 가능성을 인정하면서도, 시스템 상태를 주의 깊게 관찰하여 데드락이 발생하지 않도록 조치를 취하는 방법.
탐지 및 복구(Detection and Recovery): 데드락이 발생했을 때 이를 탐지하고 해결하는 방법.'os 운영체제' 카테고리의 다른 글
OS: 프로세스, IPC, fork/exec (0) 2024.04.03 OS: 프로그램의 구조, 인터럽트, Syscall, 프로세스 실행 상태 (0) 2024.03.28 컴퓨터 구조: 어드레싱 모드란? (0) 2024.03.25 OS 5강: 프로세스 스케줄링 (0) 2024.03.01 OS 4강: 쓰레드 관리 (0) 2024.02.20