일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 운영체제
- 알고리즘
- CV
- 코딩
- 쉘
- 프로세스
- 영상처리
- Windows10
- python
- C++
- Computer Vision
- 학습
- linux
- error
- 딥러닝
- 공부
- 백준알고리즘
- 백준
- shell
- 턱걸이
- 텐서플로우
- 리눅스
- 회귀
- C언어
- 시스템프로그래밍
- Windows 10
- 프로그래밍
- OpenCV
- TensorFlow
- c
- Today
- Total
목록EXIT (3)
줘이리의 인생적기
POSIX스레드라고 부르며, Pthread[피스레드]라고도 부른다. pthread는 저수준 API로 100여개의 함수를 제공한다. 유닉스 시스템의 핵심 스레딩 라이브러리이다. 헤더파일에 정의되어 있으며, pthread_로 모든 함수가 시작된다. 스레드 관리(생성, 종료, 조인, 디테치)와 관련된 함수, 동기화(뮤텍스)와 관련된 함수를 주로 익혀두면 좋다. 기본 라이브러리(glibc)와 분리된 libpthread 라이브러리에 구현되어 있어서 컴파일시에 -pthread 옵션이 필요하다. gcc -pthread test.c -o test 스레드 생성 pthread_t thread1; void *thread_function(void *ptr); ret = pthread_create(&thread1, NULL, ..

wait()시스템콜이 있는 이유는 fork()함수 호출 시 자식 프로세스가 종료할 때까지 부모 프로세스가 기다린다. 기다리지 않으면 부모 프로세스가 먼저 끝나서 자식 프로세스는 고아프로세스가 되어버린다. 리턴값은 자식프로세스의 pid이다. copy-on-write copy-on-write는 fork() 시스템콜이 4GB를 복사하는데 시간이 너무 오래걸린다는 문제점에서 출발했다. 자식프로세스 생성 시에 복사를 하지 않고 우선 부모 프로세스 페이지를 우선 사용한다. 읽기가 아니라 쓰기를 할 때 해당 페이지를 물리메모리에서 복사하고 분리한다. 분리한 후에는 업데이트된 물리 메모리의 page pointer를 자식 프로세스의 페이지테이블에서 업데이트한다. 장점은 프로세스 생성 시간을 줄일 수 있으며, 새롭게 할당..

프로세스 상태 프로세스 생성(new) : 프로세스를 생성 실행 가능 상태(ready state) : CPU에서 실행 가능 상태(실행 대기 상태) 실행 중(running) : CPU에서 실행 중인 상태 대기 상태(block state) : 특정 이벤트 발생 대기 상태 종료(exit) : 프로세스 종료 상태 선점형 스케쥴러 하나의 프로세스가 다른 프로세스로 교체 가능한 스케쥴러 스케쥴러가 running state인 프로세스를 ready state로 보내고 ready state 프로세스를 running state로 교체 가능하다 비선점형 스케쥴러 하나의 프로세스가 끝날 때까지 다른 프로세스로 교체 불가능한 스케쥴러 프로세스가 자발적으로 block state 혹은 exit 상태일 때만 다른 프로세스로 교체 가능하다