운영체제 (4) 썸네일형 리스트형 [운영체제] 5. Concurrency: Semaphores and Deadlock1 Condition Variables(상태 변수) 상호배제와 동기화(순서 관계)를 제공할 수 있는 API pthread_cond_wait: run 상태의 쓰레드를 sleep 상태로 바꾸어 sleep 큐에 넣는 API pthread_cond_signal: sleep 큐에 존재하는 쓰레드를 깨워 스케쥴링 될 수 있는 ready 상태로 바꾸는 API 순서관계를 제공하는 방법 1. Busy waiting(spin): 성능이 좋지 않으며 자식이 많을 경우 문제가 생길 수 있다. 2. Codition variable: 성능도 좋으며 정확성을 보장한다. 생산자/소비자 문제 (Producer/Consumer Problem; Bounded Buffer Problem) 유한한 개수의 생산품을 보관하는 버퍼에 여러명의 생산자.. [운영체제] 3. Scheduling Scheduling 한 시점에서 여러 프로세스가 제한된 물리적 자원인 CPU를 접근할 경우 프로세스 별로 접근에 대한 순서를 정해주어야 된다. Scheduling Metrics Turnaround time = 수행완료시간 - 도착시간 Response time = 첫 서비스 시간 - 도착시간 Fairness: 프로세스간 걸리는 시간이 비슷한 정도 Throughput: 단위 시간 동안 얼마나 많은 작업을 처리했는지 Deadline: Turnaround time < deadline FIFO(First In First Out) 도착 시간이 빠른 프로세스를 먼저 수행하는 스케쥴링 기법. 장점으로는 간단하고 구현이 쉽지만, 단점으로는 convey effect에 의해 긴 대기 시간이 유발될 수 있다. SJF(Shot.. [운영체제] 1. Introduction Operating System 컴퓨터의 시스템 자원을 효율적으로 관리하여 사용자가 컴퓨터를 편리하고, 효과적이게 사용할 수 있는 환경을 제공하는 시스템 소프트웨어이다. OS's Main Topic 1. Virtualization 물리적 자원을 추상화 시켜 더 강력하고 사용하기 쉬운 가상 자원의 형태로 바꾸는 작업. 2. Concurrency 여러 프로세스가 동시에 수행될 때 성능은 효율적으로 유지시키며 협력적인 태도로 자원을 공유하게 만드는 작업. 3. Persistency 휘발적인 특성의 Main memory(DRAM)을 영속적인 Storage에 명시적으로 저장하는 작업. Policy & Mechanism Policy: Which(or what) to do? 예시. 어린이 보호구역에서 과속을 금지 Me.. [Ubuntu 18.04] Solution: Unable to locate package... /etc/apt/sources.list 파일을 편집해야 한다. 늘 그렇듯 미리 위 파일 하나를 백업해두고.. deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse 파일 내용을 위와 같이 교체하면 문제가 해결됨 이전 1 다음