1. 공정 무엇입니까
인기, 프로세스가 실행중인 프로그램
보기 운영 체제의 관점에서, 프로세스는 프로세스의 설명은 운영 체제입니다.
이 할 수있는 구체적인 프로세스 설명이라고 PCB의 프로세스 제어 블록 , 리눅스라는 아래 구조의 설명 구조체의 task_struct
기본 처리는 실행 엔티티 프로그램뿐만 아니라, 시스템 자원의 할당 및 스케줄링의 기본적인 단위이다.
2. 기본 프로세스에 포함 된 정보
이 task_struct에 포함되어 있기 때문에 task_struct에 운영 체제, 프로그램을 실행할 수 있습니다 :
메모리 포인터, 식별자 PID , 파일 상태 정보, 프로세스 상태 , 상황에 맞는 데이터, 프로그램 카운터, 프로세스 우선 순위 ...
메모리 포인터 : 메모리 위치에로드 프로그램 및 데이터를 실행 한 후
식별자 PID는 고유하게 시스템의 각 프로세스를 식별
문맥 데이터 : 프로세스 실행 상황과 자원
프로그램 카운터 : 전환 위치 저장된 프로그램
3. 프로세스의 상태
실행 : 소지 CPU 및 CPU에서 실행
준비 : 이미 작동 조건을 가지고 있지만, 거기에 여유 CPU 없지만, 실행 일시적 없기 때문에
방해 : 이벤트를 기다리는 일시적으로 실행할 수 없습니다
4. 특별한 지위의 과정
1. 좀비 프로세스 : 프로세스는 좀비 상태
어떻게 좀비 프로세스를 생산하는? 피해는 무엇입니까? 방법을 피하기 위해?
부모 프로세스 전에 아이는 연산자를 허용,이 때 부모 프로세스를 통지 자식 프로세스를 얻을 수있는 부모가 이유를 종료이 시간을 절약하기 위해 종료 이유에서, 종료, 따라서 서브 루틴 자원은 완전히 자식 프로세스가 종료에 운영 체제 검사를 해제되지 않은 아이는 완전히 해제됩니다 경우 릴리스 시스템 자원, 자원.
부모가 자식 운영 체제 리소스를 해제 할 수 없습니다 부모를 의미한다이 통지에 대한 관심하지 않은 경우, 그 아이가 죽은 상태가됩니다 이번에는 좀비 프로세스가 될 수 있습니다.
위험 : 리소스 누수
피 : 프로세스 대기
해상도 : 이성의 성격 저장하고 볼 수있는 부모 프로세스에 대한 이유를 종료하기 때문에 부모 프로세스가 (좀비 자식 프로세스를 종료하지만, 직접 공개 프로세스가 존재하는 더 좀비 아이 때문에 운영 체제가 없을 것 즉, 부모 프로세스에서 철수. )
2. 고아 : 부모 자식 프로세스가 종료하기 전에 자식 프로세스가 고아가된다. (배경)에
고아 프로세스가 부모없이 아니라, 부모가 자식 프로세스가 종료 한 후, init 프로세스에 의해 뒤에 문제를 처리하고, init 프로세스가 운영 시스템 자원의 직접 방출을 수 있다는 것을 의미, init 프로세스가된다, 그것은하지 않습니다 좀비 프로세스가된다.
3. 데몬 : 특별 고아. (완전 터미널 세션에서 지금 배경에서 실행 등)
5. 프로세스 우선 순위
프로세스의 우선 순위는 결정 프로세스 우선 순위 CPU 리소스를 가져옵니다 .
우선 실제로 배열 값이 작을수록, 더 높은 우선 순위이다.
왜 우선 순위가 있어야한다 : 운영 체제 실행이 더 합리적 할 수 있습니다.
어떻게 우선 순위 설정하는 방법 : 우선 순위가 직접 설정 될 수 있지만, 상기 우선 좋은 값의 설정 값에 의해 제공 될 수
PRI는 NI + = PRI 는 NI 범위를 -20 내지 19 세트의 명령 renice 명령어 - N-ni_val을 - P PID의 니스 - N ni_val. / 메인
6. 프로세스 스케줄링
CPU 스케줄링은 CPU가 유휴 상태 인 경우, 운영 체제가 더 높은 우선 순위의 프로그램 실행의 준비 큐를 선택합니다, 운영 체제의 기본 기능입니다
7. 공정의 특징
경쟁력있는 운영 체제의 프로세스는 항상 자원 사이 따라서 경쟁력있는 공정 경쟁 때문에 :
독립 : 프로세스가 다른 프로세스에 영향을주지 않습니다 작업을하기 위해서는, 당신은 프로세스 간의 독립성이 필요
병렬을 : CPU 자원을 경우 충분한 수의 여러 프로세스를 실행할 수 있습니다
동시에 : 충분하지 않은 CPU 자원을, 스위치는 여러 프로세스를 실행하도록 예약