[운영체제] Thread & Concurrency(공룡책 스터디 정리)
CS/운영체제2023. 12. 13. 10:54[운영체제] Thread & Concurrency(공룡책 스터디 정리)

본 포스팅은 인프런 공룡책 강의를 기반으로 한 스터디 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! Overview 메모리 상에 여러개의 프로세스가 적재되어있고 하나의 CPU가 Context Switch를 통해 작업이 수행되는 멀티 프로그래밍 구조를 배웠음. 하나의 프로세스가 여러개의 threads of control을 가질 수 있음. 프로세스(process)란? 프로세스(process)란 단순히 실행 중인 프로그램(program) 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것. 이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성. 스레드(thread)란? 스레드(thread)란 프로세스(..

쓰레드(Thread) -Infinite
CS/시스템 프로그래밍2022. 6. 20. 19:46쓰레드(Thread) -Infinite

이전 글에서 프로그램 내에서 자식 프로세스를 만들어 여러가지 명령어를 처리하는 방법에 대해서 배웠는데, 이번 글에서는 새롭게 프로세스를 만들어 처리하지 않고 쓰레드를 사용하여 명령어를 처리하는 방법에 대해서 알아 보도록 합시다. ● 프로세스 vs 쓰레드 Process : 프로그램의 실행상태를 의미하며 프로세스 생성 시 상태정보 및 PCB를 생성합니다. Thread : 프로세스의 작업단위를 의미하며 쓰레드 생성 시 PCB는 공유를 하며, 오로지 스택만을 생성합니다. ● 쓰레드를 사용하는 이유 -> 보통 리눅스 시스템에서 서버 프로그램은 수많은 클라이언트의 요청에 대해 응답을 하기위해 여러 프로세스를 만들어 task를 처리합니다. 하지만 주어진 task가 경량화된 작업일 경우에는 쓰레드를 이용하여 한개의 프..

image