Caozuoxitong - 프로세스 관리 (운동)

운영 시스템 - 프로세스 관리 (운동)

이 문서에서는 방과 후 연습을 응답 할 것이다

  1. 프로그램 폐쇄 및 재현성 왜 잃게 동시 실행

    A : 프로그램의 병렬 실행이 시스템 리소스가 두 개 이상의 프로그램에 의해 공유되는 때, 이러한 자원은 필연적으로 이러한 절차에 의해 변경됩니다. 프로그램이 실행되면, 다른 프로그램에 영향을 줄 수 있습니다. 그 실행에 기재된 프로그램은 기본 유닛으로 사용될 수없는 이유 즉,이 공정의 출현 이후, 프로세스 콘텍스트를 낳았다.

  2. 동시성 과정은 무엇입니까?

    A : 동시성 만 프로세스를 수행하지만, CPU를 여러 프로세스를 실행할 수있는 운영 체제의 프로세스를 의미합니다,하지만 당신은 신속하게 동시에 여러 프로세스간에 전환 할 수 있습니다, 시간보기의 ​​매크로 점은 병렬로 둘 이상의 프로세스이다 실행.

  3. (가)에만 프로세스의 존재에 서명 왜 PCB의 역할을 설명한다 PCB는?

    A는 : 그것은 PCB 공정이며, 프로그램 데이터 구성 설정 PCB의 존재는 동적 프로세스를 반영한다.

    프로세스는 프로세스 식별자, 프로세서 상태 (조성물 레지스터의 내용에 의해 처리), 스케쥴링 프로세스 정보 및 프로세스 제어 정보를 포함한다.

    PCB의 존재는 프로세스가 일시 중지 및 기록 정보에 깨어날 수 PCB 요구 전환 키 처리는 동시에 실행할 수있다.

    프로세스가 프로세스가 취소 된 경우, 먼저 PCB가 생성되는 생성되면, PCB는 최신 버전입니다. 그것은 말할 수있다 PCB 공정 로고의 존재가.

  4. 과정을 만드는 과정에서 어떤의

    빈 PCB를 적용 (1). 고유 프로세스 식별자, PCB 컬렉션에서 빈 응용 PCB의 응용 프로그램에 대한 새로운 프로세스.

    (2) 새로운 프로세스에 대한 자원을 할당 할 수 있습니다. 메인 프로그램은 새로운 프로세스 데이터 및 사용자 스택 메모리 공간이 요구된다.

    (3)는 PCB를 초기화합니다. 메인 PCB가 같은 다양한 정보로 채워지 : 프로세스 식별자의 부모 식별자, 프로세서 상태, 프로그램 엔트리 주소로 프로그램 카운터 지점, 새로운 프로세스로 설정되는 상부, 제어 정보 프로세서에 스택 포인터 포인트 준비 상태, 새로운 프로세스의 우선 순위.

    (4) 대기열의 준비 PCB 삽입하는 새로운 방법.

  5. 여러 가지가 고급 통신 프로세스?

    (1) 메모리 시스템을 공유 : 특정 공유 데이터 구조 또는 스토리지 영역이 공간을 통해 통신 프로세스 간의 상호 통신하는 프로세스.

    (2) 메시징 시스템 : 직접 통신 및 간접 통신 나누어. 즉, 직접 메시지를 송신 개의 프로세스간에 직접 통신. 과정을 전송 즉 간접 통신은 메일 메시지를 보낼 수 있습니다. 메일은 개인 사서함, 공용 사서함 및 공유 사서함으로 구분된다. 전송 프로세스가 메시지를 보낼 때, 그의 메모리, 텍스트 및 기타 정보에 처음으로 응용 분야를 보내 그들을 채우기 위해 요청하실 수 있습니다. 프리미티브를 전송하면, 메시지에 따라, 즉, 버퍼 길이를 설정하는 책임이있다 "레터." 그들에게 전송되는 정보를 복사합니다. 상기 버퍼로부터의 정보는 다음 복사 프로세스를 수신하고.

  6. 리눅스 시스템은 여러 국가에서 처리?

    (1) 태스크 실행 상태. 그것은 구체적으로 어떤 종류의 구별하기 위해 CPU 자원을 가지고 있는지 여부에 따라 달라집니다의 상태와 준비 상태를 실행하는 작업이 포함됩니다.

    (2) TASK 인터럽트 상태. 프로세스는 몇 가지 이벤트를 기다리고 있습니다. 이 과정은 중단 상태가 웨이크 업 준비 상태로 전송 대기 일 수 있습니다.

    (3) 상태 TASK_UNINTERRUPTIBLE. 일부 하드웨어 자원은 중단 된 프로세스를 충족하지 않았기 때문에.

    (4) 상태 TASK_ZOMBIE. 좀비 상태입니다. 프로세스가 종료 어떤 이유로, 모든 자원 프로세스는 출시되었지만, PCB 정보도 유지됩니다. 이 상태는 좀비 상태라고합니다.

    (5) TASK_STOPPED 상태. 일시 중단 된 상태입니다. 일반적으로 특별한 치료를 위해 대기의 상태 전이에 의해 실행됩니다.

  7. 독자 - 후속 프로세스에 관계없이 기다려야합니다 읽을 도달하는 쓰기 프로세스가있는 경우, 동기화 알고리즘 문제를 수정 문제를 쓰기 읽기 파일의 읽기 과정 여부. 해당 블록을 쓴다.

    semaphore mutex; //mutex是对文件进行读\写操作的信号量。
    
    int readcount = 0, arrive = 0;//arrive是表示写进程是否到达的变量,0表示未到达,1表示到达。
    
    void writer() {  
     arrive = 1;
     wait(mutex);
     写操作...
     signal(mutex);
     arrive = 0;
    }
    
    void reader() {
     if (arrive == 1) return; 
     if (readcount == 0) {
         wait(mutex);
     }
     readcount++;
     读操作...
     readcount--;
     signal(mutex);
    }

추천

출처www.cnblogs.com/lunar-ubuntu/p/12233522.html