ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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): 데드락이 발생했을 때 이를 탐지하고 해결하는 방법.

Designed by Tistory.