이론/운영체제

[OS] 프로세스 생성/종료

ohojee 2023. 7. 22. 22:34

프로세스 상태

디스패처: 처리기를 한 프로세스로부터 다른 프로세스로 교체해주는 프로그램
프로세스 A → 디스패처 → 프로세스 B → 디스패처 → 프로세스 C → 디스패처 → 프로세스 A

프로세스 생성/종료

프로세스 생성
프로세스를 관리하기 위해 필요한 자료구조를 만들고 그 프로세스에게 주기억장치 내의 주소공간 할당
프로세스 생성 이유

  • 새로운 일괄처리 작업: 작업이 제출될 때
  • 대화형 로그온: 새로운 사용자가 로그온할 때
  • 운영체제가 생성: ex) 사용자가 인쇄 요청 → 프린트 작업 관리하는 프로세스 생성
  • 기존 프로세스에 의한 생성: 부모 프로세스(생성한 프로세스) - 자식 프로세스(생성된 프로세스)

프로세스 종료
프로세스가 수행 완료를 표시할 수 있는 수단 제공
프로세스 종료 이유

  • 정상 완료: 프로세스가 수행 완료되었다는 사실을 운영체제에게 알림
  • 시간 한도 초과: 전체 시간 한도보다 더 오래 수행
  • 메모리 부족: 시스템이 제공할 수 있는 메모리보다 더 많은 용량 요청
  • 경계범위 위반: 접근 허용되지 않은 메모리 위치에 접근 시도
  • 보호 오류: 파일을 잘못 사용 ex) 사용 금지된 자원이나 파일 사용 시도
  • 산술 오류: 금지된 계산 수행, 하드웨어가 수용할 수 있는 것보다 큰 숫자 저장 시도 ex) 0 나누기 연산 실행
  • 시간 초과: 어떤 이벤트 발생을 명시된 최대 시간 초과하여 기다림
  • 입출력 실패: ex) 원하는 파일 찾을 수 x, 결함있는 부분을 만났을 때 read/write 실패
  • 무효 명령어: 존재하지 않는 명령어 수행 시도
  • 특권 명령어: 운영체제만 사용하도록 예약된 명령어 사용 시도
  • 데이터 오용: 데이터 일부 타입이 잘못되었거나 초기화되지 x
  • 오퍼레이터나 운영체제 간섭: 어떤 이유로 인해 오퍼레이터나 운영체제가 프로세스 종료시킴
  • 부모 종료: 부모 프로세스가 종료될 때 자식 프로세스 종료
  • 부모 요청: 부모 프로세스는 자신이 생성한 임의의 자식 프로세스 종료 권한 지님