process와 thread 구성

2022. 2. 11. 17:29·OS

process

프로세서에 의해 실행되고 있는 프로그램

 

process의 구조

- code: 프로그램 명령이 위치한 곳

- data: 전역 변수나 static 변수의 할당을 위해 존재하는 공간

- stack: 지연 변수 할당, 함수 호출 시 전달되는 인자 값들을 저장하기 위한 공간(). 제어를 위해 필요한 데이터

- heap: Java의 new를 통한 동적 할당을 위해 존재하는 공간

 


thread

- 프로그램의 실행 단위

- 역할: 프로세스가 할당 받은 자원을 통해 제어

 

첨언
- CPU 스케줄러는 프로세스가 해야할 일을 CPU에게 전달하고 실제 작업은 CPU가 수행
- 스케줄러가 CPU에 전달하는 일 하나가 스레드!
- OS 입장에서 작업 단위는 프로세스이고, CPU 입장에서의 작업 단위는 스레드이다.

 

 

therad의 구조

- register

- stack

 


register가 thread 영역에 있다?

- register은 cpu 영역이 아니었던가 의문이 들 수 있다. 

- 결론만 말하자면, thread가 갖고 있는 register의 의미는 "저장된 상태" 이다. 

- context switching 발생하면, 현재 프로세스 상태 정보(state segment) 저장하고 종료

- 따라서, register 값이 stack에 저장되고 종료된다. 


참고

https://vsfe.tistory.com/12

'OS' 카테고리의 다른 글

Concurrency vs Parallelism  (0) 2022.02.10
[OS] Lecture 6. Process Synchronization and Mutual Exclusion (1/7) - Introduction  (0) 2022.02.05
[OS] Lecture 5. Process Scheduling (4/4) - MLQ, MFQ  (0) 2022.02.05
[OS] Lecture 5. Process Scheduling (3/4) - SPN, SRTN, HRRN  (0) 2022.02.05
[OS] Lecture 5. Process Scheduling (2/4) - FCFS, RR  (0) 2022.02.05
'OS' 카테고리의 다른 글
  • Concurrency vs Parallelism
  • [OS] Lecture 6. Process Synchronization and Mutual Exclusion (1/7) - Introduction
  • [OS] Lecture 5. Process Scheduling (4/4) - MLQ, MFQ
  • [OS] Lecture 5. Process Scheduling (3/4) - SPN, SRTN, HRRN
사랑우주인
사랑우주인
  • 사랑우주인
    lovelyAlien
    사랑우주인
  • 전체
    오늘
    어제
  • 글쓰기
    관리
    • 분류 전체보기 (207)
      • Programming (4)
        • Spring (28)
        • Java (46)
        • JPA (2)
        • 디자인 패턴 (5)
        • 개발&아키텍처 (0)
      • Network (12)
      • OS (19)
      • Database (1)
      • Kubernetes (0)
      • Kafka (2)
      • Algorithm (49)
        • BaekJoon (1)
        • Programmers (19)
        • Algorithm (5)
        • Socar (2)
        • LeetCode (19)
      • Interview (2)
      • Issues (2)
      • DotJoin (1)
      • Git (4)
      • 독서 (3)
      • 끄적끄적 (1)
      • 외부활동 (26)
        • 항해플러스 (2)
        • JSCODE 네트워크 (19)
        • JSCODE 자바 (5)
      • SQL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • GitHub
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JSCode
    fcfs
    디자인 패턴
    Process
    Reorder List
    트랜잭션
    algorithm
    clone graph
    준영속 엔티티
    LinkedList
    Climbing Stairs
    Thread
    AuthenticationSuccessHandler
    제네릭
    OS
    RR
    Oauth2
    BFS
    운영체제
    wildcards
    @JsonNaming
    pacific atlantic water flow
    socar
    Generic
    추상화 클래스
    @JsonProperty
    lower bounded wildcards
    minimum number of arrows to burst balloons
    runner 기법
    rotting oranges
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
사랑우주인
process와 thread 구성

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.