일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 앨런
- SwiftUI
- 가상 메모리
- 동시성
- 상호배제
- Apple Developer Academy
- Codable
- core data
- COLOR
- forEach
- Linked List
- 동기화
- UserDefaults
- 비동기
- 파일 시스템
- 인프런
- struct
- Swift
- 알고리즘
- @state
- 운영체제
- 프로세스 스케줄링
- 오브젝트
- 100 days of SwiftUI
- decode
- IOS
- deadlock
- Algorithm
- 데드락
- async
- Today
- Total
목록프로세스 (3)
기어가더라도 제대로
Semaphore 1965년 다익스트라님이 제안 Busy waiting 문제 해결 음이 아닌 정수형 변수(S) 초기화 연산, P(),V()로만 접근 가능 P: Probern(검사) V: Verhogen(증가) 임의의 S 변수 하나에 ready queue 하나가 할당됨 Semaphore의 종류 Binary semaphore S가 0과 1 두종류의 값만 갖는 경우 상호 배제나 프로세스 동기화의 목적으로 사용 Counting Semaphore S가 0 이상의 정수값을 가질 수 있는 경우 Producer-Consumer 문제 등을 해결하기 위해 사용 생산자-소비자 문제 P(S) 연산 물건이 없을 땐 빙빙 s Q로 가서 기다린다. Block된 상태(busy waiting X) V(S) 연산 ..
Thread => 실타래 먼저, 프로세스는 리소스 할당 + 제어를 통해 작업(Job)을 수행하는 것을 이해해야 한다. 프로세스 중에서 제어 부분만 분리해 놓은 것을 스레드라고 한다. 프로세스 하나에서 여러개의 스레드가 있을 수 있다. 1 : N 스레드는 프로세스 내에서 리소스를 공유해서 사용한다. 제어 정보 stackPointer Program Counter 상태 지역 데이터 for 문 안에서 순회 위의 요소들이 스택에 저장이 된다. 정의 Light Weight Process(LWP) 프로세서(CPU) 활용의 기본 단위 구성 요소 Thread ID Register Set(PC, SP) Stack(local data) 제어 요소 외 코드, 데..
Job vs Process 작업 / 프로그램 실행 할 프로그램 + 데이터 컴퓨터 시스템에 실행 요청 전의 상태 프로세스 실행을 위해 시스템(커널)에 등록된 작업 시스템 성능 향상을 위해 커널에 의해 관리됨 프로세스의 정의 실행중인 프로그램 커널에 등록되고 커널의 관리하에 있는 작업 각종 자원들을 요청하고 할당 받을 수 있는 개체 프로세스 관리 블록(PCB)을 할당 받은 개체 능동적인 개체(active entity) 실행 중에 각종 자원을 요구, 할당, 반납하며 진행 Process Control Block(PCB) 커널 공간(kernel space) 내에 존재 각 프로세스들에 대한 정보를 관리 자원(Resource)의 개념 커널의 관리 하에 프로세스에게 할당/반납 되는 수동적 개체(p..