[운영체제] Process - 프로세스

Profile-exe·2021년 9월 13일
0

Operating-System

목록 보기
3/5
post-thumbnail

간단하게 개념을 정리해보자

  • Processor : CPU + 제어장치
  • Program : 디스크에 있는 프로그램 파일
  • Process : 메모리에 있는 실행중인 프로그램

이번 포스트에서는 Process 개념, 생성, 종료, 추적에 대해 알아본다.


📖 프로세스 - Process

  • 현재 실행중인 프로그램
  • 컴퓨터에서 실행되는 프로그램의 인스턴스
  • 프로세서에 할당되어 실행될 수 있는 객체
  • 명령어들의 순차 수행, 현재 상태, 연계된 시스템 자원들의 집합 등에 의해 특정지어지는 활성화 단위

💡 Process = Program Code + set of data + PCB


📖 프로세스 생성 - Process Creation

📌 로그인

터미널의 사용자가 시스템에 로그인 한 경우

📌 운영체제에 의한 생성

운영체제는 사용자가 기다릴 필요 없이 사용자 프로그램을 대신하여 기능을 수행하는 프로세스를 생성할 수 있음

📌 실행중인 프로그램(존재하는 프로세스)에 의한 생성

모듈화 또는 병렬화를 이용하기 위해, 사용자 프로그램은 많은 프로세스의 생성을 명령할 수 있음
ex) Visual Studio -> 컴파일러(+링커) -> 실행파일 실행(프로세스 생성)


📖 프로세스 종료 - Process Termination

📌 정상 종료 - Normal completion

정상 종료되는 경우 프로세스는 OS 서비스 호출하여 실행이 완료되었음을 알림

📌 허용하지 않은 메모리 침범 - Bounds violation

포인터 변수의 주소가 잘못된 경우 발생할 수 있음

📌 산술 오류 - Arithmetic error

0으로 나누거나(division by zero) 하드웨어가 수용할 수 있는 것보다 더 큰 숫자를 저장한 경우

📌 잘못된 명령 - Invalid instruction

프로세스가 존재하지 않는 명령을 실행하려고 시도하는 경우

📌 부모 프로세스 종료 - Parent termination

부모 프로세스가 종료되면 운영체제는 부모 프로세스의 모든 자식 프로세스를 종료시킬 수 있음


profile
컴퓨터공학과 학부생

0개의 댓글