스레드2 [운영체제] 4. 스레드 관리 - (1) 스레드의 필요성과 개념 📍1. 스레드의 필요성 ☑️ 프로세스를 수행 단위로 하는 멀티프로그래밍의 문제점 1️⃣ 프로세스 생성의 큰 오버헤드- 프로세스를 위한 메모리 할당, 부모 프로세스로부터 코드와 데이터 복사- PCB 생성, 매핑 테이블(페이지 테이블) 생성 등 2️⃣ 프로세스 스위칭(process switching) 시 큰 오버헤드 - 기존 프로세스 컨텍스트를 PCB에 저장, 새 프로세스 PCB 갱신 및 CPU 레지스터로 복원- CPU가 참고할 매핑 테이블(페이지 테이블)의 교체 시간- CPU 캐시에 새 프로세스의 코드와 데이터가 채워지는데 걸리는 시간 등3️⃣ 프로세스 사이 통신의 어려움- 프로세스가 다른 프로세스의 메모리에 접근 불가- 커널 메모리나 커널에 의해 마련된 메모리 공간을 이용하여 데이터 송수신- 이 방법.. 2025. 4. 17. [운영체제] 3. 프로세스 관리 - (1) 프로세스 개요 수업> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!마인드맵!!!!!!!!!!!!!!!!!!!!!!!!!!!! 📍1. 프로세스 개요1-1. 프로세스의 의미 ✔️ 다중프로그래밍 운영체제에서 발생하는 에러의 원인들은 프로세스 간 1️⃣ 부적절한 동기화*(improper synchronization) 2️⃣ 상호배제** 실패(failed mutual exclusion) 3️⃣ 비결정적인 프로그램 연산***(nondeterminate program operation) 4️⃣ 교착상태 발생(deadlocks)* 부적절한 동기화: 프로그램 실행이 보류된 상태에서 동기화를 잘못 수행해 신호가 분실되거나 중복되는 것 **상호배제: 동시에 실행되는 프로세스가 공유 자원을 동시에.. 2025. 4. 11. 이전 1 다음