728x90
반응형

2025/01/02 2

[운영체제 공룡책] 6장 Synchronization Tools(동기화 도구)

6.1 Background 동시성 및 병렬성프로세스는 동시성(concurrent) 또는 병렬성(parallel)을 통해 실행될 수 있다.CPU 스케줄러는 프로세스 간 빠르게 전환하며 동시 실행을 가능하게 한다.병렬성은 여러 프로세스가 별도의 처리 코어에서 동시에 실행되는 것을 의미한다.공유 데이터와 무결성 문제여러 프로세스가 공유 데이터를 동시에 수정할 때 데이터 무결성 문제가 발생할 수 있다.예로 생산자-소비자 문제가 있으며, 공유 메모리에서 데이터의 생산과 소비를 조율한다.레이스 조건(Race Condition)여러 프로세스가 동일한 데이터에 접근해 조작할 때 실행 순서에 따라 결과가 달라지는 상황을 의미한다.동기화 필요성레이스 조건을 방지하려면 공유 데이터에 대해 하나의 프로세스만 접근 가능하도록 ..

[C언어로 쉽게 풀어쓴 자료구조] 9장 우선순위 큐

C언어로 쉽게 풀어쓴 자료구조: 9장 우선순위 큐9.1 우선순위 큐 추상 데이터 타입우선순위 큐의 소개데이터들이 우선순위를 가지고 있고 우선 순위가 높은 데이터가 먼저 나가게 된다.자료구조삭제되는 요소스택가장 최근에 들어온 데이터큐가장 먼저 들어온 데이터우선순위 쿠가장 우선순위가 높은 데이터 우선순위 큐 추상자료형기본적으로 다른 자료구조와 같다.delete 연산 시 가장 우선 순위가 높은 요소를 삭제하고 이 요소를 반환한다. 9.2 우선순위 큐의 구현 방법1. 배열정렬되지 않은 배열요소 삽입: 배열의 맨 끝에 새로운 요소를 추가한다. 요소 삭제: 처음부터 끝까지 모든 요소들을 스캔해야 한다. 삭제 후 뒤의 요소를 앞으로 이동시켜야 한다.정렬된 배열요소 삽입: 순차 탐색, 이진탐색등을 사용하여 다른 요소와..

728x90
반응형