본문 바로가기

OS/os 공부25

7.Deadlock Resolution 데드락의 개념 데드락은 위의 이미지처럼 어떤 프로세스들도 자신이 원하는 자원을 얻을 수 없어 일을 할 수 없는 상태를 말한다. Blocked/Asleep 상태 즉 프로세스가 특정 이벤트 또는 자원을 기다리는 상태에서 발생할 가능성이 없는 이벤트를 기다리는 경우 프로세스가 deadlock상태에 빠졌다고 한다. 시스템내에서 dealock에 빠진 프로세스가 있다면 시스템이 deadlock상태에 있다고도 말한다. 그럼 이전에 배운 Starvation 상태와 데드락 상태의 차이점은 무엇일까? starvation vs deadlock starvation 은 프로세스가 CPU를 기다리는 상태에서 운이 없게도 계속 자신보다 우선순위가 높은 아이들이 들어와 뒤로 밀리거나 하는 등의 이유로 CPU를 할당받지 못해 무한 대.. 2021. 12. 30.
6.Process Synchronization & Mutual Exclusion Process Synchronization 동기화가 무엇일까? 우리가 사용하는 다중 프로그래밍 시스템에서는 여러 프로세스들이 독립적으로 동시 동작한다. 따라서 공유자원을 동시에 원할 경우? 문제가 발생할 수 있다. 즉 프로세스 동기화는 공유되는 자원을 두고 프로세스들 사이에 서로 겹치지 않게 동작을 맞추는 것/서로 정보를 공유하는 행위를 동기화라 한다. Asynchronous and Concurrent P’s 비동기적(Asynchronous)이라는 말은 프로세스들이 서로에 대해 모르는 것이다 병행적이라는 말은 여러 개의 프로세스들이 동시에 시스템에 존재하는 것이다. 문제는 병행수행 중인 비동기적 프로세스들이 공유자원에 동시에 접근 시 문제가 발생할 수 있다. Shared data/Critical data.. 2021. 12. 27.
5. 프로세스 스케쥴링 스케쥴링 한 시스템 내에는 여러 개의 프로세스가 존재한다. 이 각각의 프로세스에게 어떻게 자원을 할당해줘야 효율적이며 문제가 발생하지 않는지 OS가 관리해준다. 자원을 할당할 프로세를 선택해 주는 것을 스케줄링이라고 한다. 자원의 관리는 크게 두 가지 방법으로 나뉜다. 1. 시간 분할 (time sharing) 관리 시간 분할 관리를 하는 대표적 자원의 예로는 프로세서가 있다. 프로세서(CPU)는 한 번에 하나의 프로세스만 들어가서 작업할 수 있는 자원이다. 따라서 언제 누가 들어갈지 시간을 분할하여 관리가 필요하다.->프로세스 스케쥴링 프로세서 사용시간을 프로세스들에게 분배한다는 것이다. 2. 공간분할 (space sharing) 관리 공간분할 관리를 하는 대표적 예는 메모리이다 메모리는 Space를 .. 2021. 12. 26.
4. Thread Management Thread 란? 프로세스는 작업을 하기 위한 자원을 요청해 할당받고 이 자원을 제어하여 원하는 목적을 얻어내는 과정이다. 이 과정에 있어 제어부분만 따로 떼어내어 것을 Thread라 이해하자 하나의 프로세스 안에 여러개의 스레드가 존재할 수 있으며 이 프로세스들은 자원을 공유한다. 스레드의 개념 Light weight Processs Process는 원래 자원과 제어가 필요한데 여기서 제어만 따로 떼어내었기 때문에 가벼운 프로세스라고도 할 수 있다. 프로세서(CPU) 활용의 기본단위 구성요소 > 1. TID(Threst ID) 2. Register Set(Program Counter, Stack Pointer 등) 3. Stack(local data) 제어 요소 외에 코드, 데이터, 기타 자원은 프로세.. 2021. 12. 25.
3. 프로세스 관리 프로세스 개념 정의 > 커널에 등록되어 커널의 관리하에 있는 작업 각종 자원을 요청, 할당받을 수 있는 개체 프로세스 관리 블록 PCB (Process Control Block)을 할당받은 개체 실행 중 각종 자원을 요구, 할당, 반납하며 진행하는 능동적 개체 간단히 : 실행중인 프로그램 Job과 프로세스의 차이 job / program > 실행할 프로그램과 데이터를 묶은 것을 job 또는 program이라 부른다. 현재 디스크에만 있는 상태로서 컴퓨터 시스템에 실행 요청을 당하기 전의 상태이다. Process >실행을 위해 시스템(커널)에 등록된 job을 말한다. 프로세스를 잘 관리해야 시스템의 성능 향상이 됨으로 커널이 관리한다. 프로세스의 종류 자원(Resource)은 무엇인가? 커널의 관리 하에 .. 2021. 12. 25.
2. 운영체제 개요(Operating system overview) 운영체제의 역할 1. User Interface 편리성 CUI(Character User Interface) > 과거에는 문자를 기반으로 사용자가 입력과 결과를 받아보았다. GUI(Graphical User Interface) > 지금은? 이미지 형태로 사용 EUCI(End-User Comfortable Interface) > 특정한 목적을 가진 사용자를 위한 인터페이스 2. Resource Management(효율성) 만질 수 있는 Hw 리소스 관리 (proessor, memory, I/Odevices 등) 만질 수 없는 Sw리소스 관리 (file, application, message, signal 등) 한정된 자원을 관리하는것은 효율성을 높인다. 3. 프로세스와 쓰레드 관리 열심히 관리중 4. 시스.. 2021. 12. 24.