Computer Science/Operating System 4

[운영체제] 교착상태 (Deadlock, 데드락)

교착상태 (DeadLock) ✔️ 정의 두 개 이상의 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며, 서로의 작업이 끝나기만을 기다리면서 둘 다 영원히 끝나지 않는 상태이다. 프로세스가 리소스를 이용하는 흐름 Request → Use → Release 요청 (Request) 필요한 자원(resource)을 요청한다. 만약 다른 프로세스가 리소스를 사용중이라서 리소스를 받을 수 없다면 대기 사용 (Use) 프로세스가 요청한 자원을 획득해 사용한다. 반납 (Release) 프로세스가 리소스를 놓아준다. ✔️ 발생 조건 4가지 다음 4가지 조건을 모두 만족해야 데드락이 발생한다. 상호 배제 (mutual exclusion) 적어도 1개 이상의 자원이 공유 불가능해야 함 ..

[운영체제] Thread란?

✔ 정의 스레드는 CPU 이용의 가장 작은 단위이다. 구성 스레드 ID 프로그램 카운터 (PC) 레지스터 집합 스택 같은 프로세스에 속한 스레드들은 코드 섹션, 데이터 섹션, OS 리소스같은 운영체제 자원들을 공유한다. 프로세스가 멀티 스레드를 갖게 되면, 한 번에 한 개 이상의 task를 수행할 수 있게 된다. 대부분의 현대 운영체제는 한 프로세스가 다중 스레드를 가진다. 생긴 이유 하나의 응용 프로그램이 여러 개의 비슷한 작업을 처리해야 할 때 단일 스레드 프로세스의 경우 한 번에 하나의 클라이언트만 처리할 수 있어 시간이 오래걸린다. 그래서 보통 서비스 요청당 별도의 프로세스를 만드는데 프로세스를 만드는 작업은 많은 시간과 리소스가 필요하다. 이 때 새 프로세스가 기존 프로세스와 하는 일이 동일하다..

[운영체제] Process란?

✔ 개념 디스크에 있는 것은 프로그램, 프로그램을 실행하기 위해 메모리에 로드된 것은 프로세스라고 한다. 프로세스는 Stack, Heap, Data, Code로 나뉜다. Stack 주로 함수(function parameters, return address, local variables)와 같은 임시 데이터 저장소이다. heap 프로그램이 실행되면서 동적 할당되는 메모리 공간이다. data 전역 변수가 저장된다. text 실행되는 코드가 저장된다. ✔ Process State 프로세스의 상태는 현재 활동에 따라 달라진다. new 프로세스가 새로 생성된 상태 Running 명령어가 들어가는 상태 Waiting 프로세스가 event를 기다리는 상태 (ex. I/O devices) Ready 프로세스가 프로세서..

[OS] 운영체제(Operating System)의 개념과 구조

✨운영체제란? 운영체제는 컴퓨터 사용자와 하드웨어 사이에서 중개자(intermediary) 역할을 한다. 운영체제의 목적은 사용자가 프로그램을 편하고 효율적으로 수행할 수 있는 환경과 컴퓨터 하드웨어를 사용하는 효율적인 방식을 제공하는 것이다. 컴퓨터 시스템은 크게 네 가지로 구분된다. 하드웨어 운영체제 응용 프로그램 사용자 하드웨어 CPU(중앙처리장치), 메모리, I/O (입출력 장치)로 구성되어 기본 계산용 자원을 제공 응용 프로그램 워드 프로세서, 스프레드 시트, 컴파일러 등 이들 자원이 어떻게 사용될지 결정 운영체제 운영체제는 다양한 사용자를 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정할 수 있도록 환경을 제공 운영체제는 컴퓨터 시스템이 동작할 때 이들 자원을 적절하게 사용할 수..