Podcast
Questions and Answers
프로세스는 프로그램의 실행 중인 ______입니다
프로세스는 프로그램의 실행 중인 ______입니다
인스턴스
프로세스는 ______하고 동적인 엔티티입니다
프로세스는 ______하고 동적인 엔티티입니다
활성
프로세스는 각자의 메모리 안에 자신만의 ______를 가지고 있습니다
프로세스는 각자의 메모리 안에 자신만의 ______를 가지고 있습니다
주소 공간
프로세스의 상태 중 하나는 'blocked'인데 이는 프로세스가 I/O 작업이 ______을 기다리고 있는 상태를 나타냅니다
프로세스의 상태 중 하나는 'blocked'인데 이는 프로세스가 I/O 작업이 ______을 기다리고 있는 상태를 나타냅니다
프로세스의 상태 중 'running'은 현재 ______가 실행되고 있는 상태를 의미합니다
프로세스의 상태 중 'running'은 현재 ______가 실행되고 있는 상태를 의미합니다
프로세스 생성 시 사용되는 함수는 ______입니다
프로세스 생성 시 사용되는 함수는 ______입니다
프로세스 A는 부모 프로세스가 없는 경우 ______ 프로세스입니다
프로세스 A는 부모 프로세스가 없는 경우 ______ 프로세스입니다
프로세스 종료 시 부모나 다른 프로세스가 아직 wait() 또는 waitpid()를 호출하지 않은 프로세스는 ______ 프로세스입니다
프로세스 종료 시 부모나 다른 프로세스가 아직 wait() 또는 waitpid()를 호출하지 않은 프로세스는 ______ 프로세스입니다
프로세스의 자원을 회수하기 위해 OS가 사용하는 시스템 호출은 ______ 입니다
프로세스의 자원을 회수하기 위해 OS가 사용하는 시스템 호출은 ______ 입니다
프로세스 상태 정보가 부모로부터 자식에게 전달되는 시스템 호출은 ______ 입니다
프로세스 상태 정보가 부모로부터 자식에게 전달되는 시스템 호출은 ______ 입니다
실행 결과가 남아있는 프로세스를 소멸시키기 위해 호출되는 시그널 기반의 시스템 호출은 ______ 입니다
실행 결과가 남아있는 프로세스를 소멸시키기 위해 호출되는 시그널 기반의 시스템 호출은 ______ 입니다
새로운 프로세스 이미지로 현재 프로세스 이미지를 대체하는 함수 중 하나인 execl()의 'l'은 ______을(를) 나타냅니다
새로운 프로세스 이미지로 현재 프로세스 이미지를 대체하는 함수 중 하나인 execl()의 'l'은 ______을(를) 나타냅니다
UNIX 및 Linux에서 init/systemd 프로세스는 이러한 고아 프로세스를 ______하고 주기적으로 wait()를 호출합니다.
UNIX 및 Linux에서 init/systemd 프로세스는 이러한 고아 프로세스를 ______하고 주기적으로 wait()를 호출합니다.
각 PCB는 프로세스를 나타내며 모든 프로세스에 대한 모든 정보를 포함합니다. 프로세스 상태 - 실행 중, 대기 중 등. PID, PPID, 프로세스 그룹, 우선 순위, ... 프로그램 카운터 (어디에서 실행 중인지) CPU 레지스터 CPU 스케줄링 정보 메모리 관리 정보 ______ 정보 - CPU 사용량, 시작 후 경과된 시간, 시간 제한 I/O 상태 정보 - 프로세스에 할당된 I/O 장치, 열린 파일 목록
각 PCB는 프로세스를 나타내며 모든 프로세스에 대한 모든 정보를 포함합니다. 프로세스 상태 - 실행 중, 대기 중 등. PID, PPID, 프로세스 그룹, 우선 순위, ... 프로그램 카운터 (어디에서 실행 중인지) CPU 레지스터 CPU 스케줄링 정보 메모리 관리 정보 ______ 정보 - CPU 사용량, 시작 후 경과된 시간, 시간 제한 I/O 상태 정보 - 프로세스에 할당된 I/O 장치, 열린 파일 목록
Linux에서 프로세스 표현 struct task_struct in include/linux/sched.h - Linux 4.4.108 기준으로 3214 줄 - 나중에 include/linux/sched로 분리 ______ 식별자 */ 이 프로세스의 부모 */ 내 자식 목록 */ 이 프로세스의 주소 공간 */
Linux에서 프로세스 표현 struct task_struct in include/linux/sched.h - Linux 4.4.108 기준으로 3214 줄 - 나중에 include/linux/sched로 분리 ______ 식별자 */ 이 프로세스의 부모 */ 내 자식 목록 */ 이 프로세스의 주소 공간 */
$ ps ax R: 실행 중 또는 실행 가능한 S: ______ T: 추적 또는 중지된 D: 중단할 수 없는 슬립 Z: 좀비
$ ps ax R: 실행 중 또는 실행 가능한 S: ______ T: 추적 또는 중지된 D: 중단할 수 없는 슬립 Z: 좀비
Flashcards are hidden until you start studying
Study Notes
프로세스의 정의 및 특징
- 프로세스는 실행 중인 프로그램의 인스턴스
- 活動的이고 동적인 엔티티
- 프로그램은 여러 프로세스가 될 수 있음
- 각 프로세스는 고유의 프로세스 ID(PID)로 식별
프로세스의 주소 공간
- 각 프로세스는 자체의 주소 공간을 가짐
- 코드 섹션(code section), 데이터 섹션(data section), 스택 섹션(stack section), 힙 섹션(heap section)
- 프로그램 카운터(Program Counter, $PC)가 현재 실행 중인 명령 지시에 가리킴
- 스택 포인터(Stack Pointer, $SP)가 스택에 있는 임시 데이터에 가리킴
프로세스의 상태
- New: 프로세스가 생성 중
- Ready: 프로세스가 실행 준비 중
- Running: 명령어가 실행 중
- Blocked: 프로세스가 I/O 완료를 기다림
- Exited: 프로세스가 실행 완료
프로세스 계층
- 부모 프로세스가 자식 프로세스를 생성할 수 있음
- 형제 프로세스는 같은 부모 프로세스를 가짐
- 프로세스 트리를 형성
프로세스 생성
- fork() 시스템 호출을 사용하여 새로운 프로세스를 생성
- 부모 프로세스가 자원과 privileges를 상속
- 실패 시 -1을 반환하고 에러 코드를 설정
프로세스 이미지 교체
- exec() 系列의 시스템 호출을 사용하여 프로세스 이미지를 교체
- 새로운 프로세스 이미지를 지정하고 인수를 전달
- 현재 주소 공간은 버리고 새로 생성
프로세스 종료
- exit() 시스템 호출을 사용하여 프로세스를 종료
- 자식 프로세스가 부모 프로세스에 상태 정보를 반환
- OS가 프로세스의 자원을 회수
프로세스 대기
- wait() 시스템 호출을 사용하여 자식 프로세스를 대기
- (waitpid() 시스템 호출을 사용하여 특정 프로세스를 대기)
- 프로세스가 종료 시 자식 프로세스가 부모 프로세스에 상태 정보를 반환
좀비 프로세스 및 고아 프로세스
- 좀비 프로세스: 종료했지만 부모 프로세스가 wait()를 호출하지 않은 프로세스
- 고아 프로세스: 부모 프로세스가 종료했지만 자식 프로세스가 살아남은 경우
- UNIX와 Linux에서는 init/systemd 프로세스가 고아 프로세스를 채택하여 wait()를 호출
프로세스 제어 블록 (PCB)
- 각 프로세스를 나타내는 데이터 구조
- 프로세스의 모든 정보를 포함
- 프로세스 상태, PID, PPID, 우선순위, 프로그램 카운터, CPU 레지스터, 메모리 관리 정보, I/O 상태 정보 등을 포함
리눅스에서의 프로세스 표현
- struct task_struct를 사용하여 프로세스를 표현
- Linux 4.4.108에서는 3214줄의 코드로 구성
리눅스에서의 프로세스표시
- ps 명령어를 사용하여 프로세스를 표시
- 프로세스의 상태를 R, S, T, D, Z 등으로 표시
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.