Skip to content

2주차 월요일 그룹 2

지찬우 edited this page Jul 1, 2024 · 7 revisions

목차

  • Program? Process? Thread?
  • Process cycle(생명주기)
  • PCB, TCB
  • Context switching
  • Java thread support
  • Program? Process? Thread?

프로그램

특정 작업을 수행하는 명령어와 데이터들의 모음

프로세스

코드의 연속적인 흐름

프로그램이 운영 체제에 의해 메모리상에서 실행된 인스턴스, 고유한 주소 공간과 자원을 가지며, 여러 스레드를 포함할 수 있음. 하나 이상의 스레드를 가진다.

스레드

코드를 실행하는 주체(직접 일을 함) 프로세스 내에서 실행 흐름의 기본 단위로, 독립적인 실행 경로를 가지며, 프로세스 내의 다른 스레드들과 메모리 공간을 공유하여 효율적인 병렬 처리를 가능하게 함.

프로세스가 할당하는? 작업 단위이다.

Process cycle(생명주기)

프로세스가 생성되면 -> new Screenshot 2024-07-01 at 2 54 06 PM

출처: https://kosaf04pyh.tistory.com/190

PCB, TCB PCB, TCB PCB: PID, state, Program Counter, register, scheduling 정보, memory 관리 정보 등등 TCB: PC register,

Context switching

Process TLB valid update, Page Table 초기화 등의 이유로 Process Context Swtiching의 비용이 Thread 보다 크다. -> 프로세스 단위로 리소스가 할당되기 때문

Thread 스택 포인터, 레지스터, PC들만 저장하고(가상 메모리의 커널 스택에), 나머지는 공유함

JAVA Thread

유저 스레드 흔히 Thread 클래스로 만드는 스레드 OS와는 관련이 없다

Screenshot 2024-07-01 at 2 54 43 PM

출처: https://letsmakemyselfprogrammer.tistory.com/98

👼 개인 활동을 기록합시다.

개인 활동 페이지

🧑‍🧑‍🧒‍🧒 그룹 활동을 기록합시다.

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally