- 컴퓨터 시스템에 실행 요청 전 상태인 명령어의 집합입니다
- 프로그램에 데이터가 할당되면 잡(job)이 됩니다
- 하나의 프로그램은 여러 프로세스를 수행할 수 있습니다
- 실행을 위해 kernel(커널)에 등록된 작업을 뜻합니다
- a.k.a 프로세스는 컴퓨터 자원을 할당받습니다. (프로세서, 메모리...)
- 프로세서 외 I/O 자원(ex: 디스크)이 필요할 시 블락(대기) 상태가 됩니다 (스케쥴링)
- 각 프로세스는 생성시 PCB라는 블럭이 커널 영역에 생성되고 저장됩니다
스케쥴링, 커널, PCB에 대한 정리는 나중에 더 자세히...
프로그램은 실행 전 상태의 명령어 집합이며,
프로세스는 컴퓨터 리소스를 할당받아 실행중인 프로그램을 의미한다
잡(job)과 태스크(task)는 프로그램, 프로세스에 비해 정의가 모호합니다
아래 글은 수박 겉핥기 정도로 보시면 될 것 같습니다
- 어떠한 작업 실행에 필요한 모든 활동을 뜻합니다 (뭐라 표현해야 하나...)
( 영어로 써놓는게 더 명확할 듯 : unit of work for an operating system. )
- 태스크(task)의 집합체라 불리기도 합니다
- 혹은 프로세스들의 유닛이라 불리기도 합니다
- 굉장히 추상적으로 느껴지므로 저는 그냥 해당 문맥에서 가장 큰 '일의 단위'라고 이해하겠습니다...
더 이해시켜주실 분 있다면 매우 감사
- 문맥에 따라 어떤 때는 프로세스, 어떤 때는 스레드를 의미합니다.
태스크는 프로세스의 최소단위이니, 스레딩 되었다면 스레드, 단일 스레드일 시에는 프로세스다 라는 문맥입니다.
- 하지만 그렇다기보단, 프로세스(who)가 태스크(what)를 실행한다고 이해하는 것이 좀 더 적합하다는 의견이 있습니다.
긴 설명 참고
운영체제를 이해하기 위한 하드웨어 기초지식 [프로세서와 메모리] (0) | 2021.03.24 |
---|
댓글 영역