분류 전체보기124 [Chapter 4. 스레드] 스레드와 관련한 문제들 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 이 절에선 다중 스레드 프로그램을 설계할 때 고려해야할 문제들에 대하여 정리한다. fork() 및 exec() 시스템 호출 앞서 fork와 exec을 통하여 자식 프로세스를 만드는 방법에 대하여 알아보았다. 참고: https://developbear.tistory.com/101?category=1027028 [Chapter 3. 프로세스] 프로세스의 생성과 종료 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 프로세스는 한 프로세스.. 2022. 8. 21. [Chapter 4. 스레드] 암묵적 스레딩과 사용 방법 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 암묵적 스레딩 (Implicit Threading) 스레드의 생성과 관리에 대한 책임을 컴파일러와 실행시간 라이브러리에게 넘겨주는 것을 말한다. ( ↔︎ 명시적 스레딩 : 개발자가 API를 통해 직접 스레드를 관리 ) 암묵적 스레딩은 개발자의 다중 스레드 응용 프로그램의 설계를 도와주는 한 가지 방법이며, 책에서는 이에 대한 3가지 접근법을 소개하고 있다. 1. 스레드 풀 (thread pool) 새로운 스레드를 매 요청마다 만들어주게 될 경우 아래와 같은 문제들이 발생한다. 1. 스레드를 생성하는 데에는 시간 소요가 발생 2. 무한정 새로운 .. 2022. 8. 20. [Chapter 4. 스레드] 스레드와 TCB, 다중 스레드 모델 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 앞서 실행 중인 프로그램을 뜻하는 프로세스에 대하여 배웠다. 프로세스는 단 하나의 진행 플로우를 갖고 있기 때문에 굉장히 제한적이다. 또한 시스템 호출을 통해 다른 프로세스를 생성할 때 많은 시간과 자원이 필요하기 때문에 오버헤드가 발생한다. 이러한 프로세스를 사용자 수준 문맥의 text 영역만 공유하고 data stack 영역과 커널 수준 문맥은 모두 복사하여 새로운 주소를 할당받기 때문에 중량프로세스 라고도 부른다. 프로세스보다 더 작은 단위의 실행 수단을 프로세스 내에 만들어 한 프로세스 내에서 각각 별도의 진행 플로우를 갖도록 하는 게 .. 2022. 8. 19. [Chapter 3. 프로세스] 프로세스의 생성과 종료 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 프로세스는 한 프로세스에 의해 새로 생성될 수 있으며, 생성된 프로세스는 자신에 의해서(수행을 마쳤을 경우) 또는 외부의 요청에 의해서 종료한다. 프로세스의 생성 프로세스는 다른 프로세스를 생성할 수 있고, 이렇게 생성하는 프로세스를 부모 프로세스, 생성된 새로운 프로세스를 자식 프로세스라고 한다. 부모 프로세스와 자식 프로세스는 1:N 관계를 가지기 때문에 위 그림과 같은 트리 구조를 형성한다. 각 프로세스는 프로세스 식별자로 보통 정수의 PID가 할당된다. * 원래 부팅 시작 시 가장 먼저 시작되는 프로세스인 init 프로세스가 PID 1을.. 2022. 8. 18. 이전 1 ··· 5 6 7 8 9 10 11 ··· 31 다음