
텍스트 파일과 vs 바이너라 파일 구분하기 ! processes(프로세스) : 실행 중인 프로그램 프로세스 관리 : 그 프로그램들을 살리고, 돌리고, 멈추고, 정리하는 OS의 일 Concurrent processes(병합프로세스): 동시에 같이 실행되는 프로세스 IP

예: 그래픽 라이브러리, 수학 라이브러리 등Linux에서는 일반적으로 /lib 또는 /usr/lib 디렉토리에 위치사용자 프로그램에서 필요한 함수(객체)만 링크(link) 됨✅ 컴파일 & 링크 과정 요약Source Code File (소스 코드)→ Compiler를 통

✅ 문제 정의 어떤 writer(쓰기 프로세스)와 reader(읽기 프로세스)가 동시에 하나의 공유 자원(변수, 파일 등)에 접근한다.<span style="background-color: 모든 접근을 순차적으로 하면 성능이 낮아짐.하지만 읽기 프로세스끼리는 동시

**heap과 stack의 확장 방향이 반대로 그려져 있는 거 같음 Text: 프로그램 코드 영역. exec(2) 호출 시 로드됨. Initialized data: 초기화된 전역 변수들이 들어감. exec(2) 호출 시 로드됨. Uninitialized data (bss): 초기화되지 않은 전역 변수 영역. exec(2)가 0으로 초기화함. Heap: 동...

1960년대 Dijkstra가 설계한 시스템 호출여러 쓰레드(또는 프로세스) 간의 크리티컬 섹션(공유 자원 접근)을 제어하는 데 사용됨(기본 특징) block/wakeup 알고리즘을 통해 상호 배제를 보장함프로세스가 크리티컬 섹션에 들어갈 수 없을 경우 ➡︎ block

사용자 프로세스는 시그널을 이용하여 비동기적인 긴급 이벤트를 인터럽트 처리처럼 다룰 수 있다. 사용자 관점 사용자 모드 실행 중 → 시그널 발생 → 사용자 프로그램이 인터럽트됨 → 시그널 핸들러(인터럽트 핸들링처럼 사용자 모드에서 실행) → 종료 또는 인터럽트된 지점

Pipe (파이프) 관련 있는 프로세스 사이에서만 사용 가능 (ex: 부모와 자식 프로세스) * FIFO (Named Pipe)* 이름이 있는 파이프이며, 관련 없는 프로세스 사이에서도 사용 가능 Message Queues (메시지 큐) Shared Memor