이 두 시리즈의 운영 체제입니다.
당신은 운영 체제가 매일 무엇을하고 있는지 알고 싶은 경우에, 당신의 리소스 모니터를 엽니 다
리소스 모니터 스크린 샷, 윈도우 (10)
혼자지도를 통해이, 우리는 운영 체제의 몇 가지 중요한 기능을 요약 할 수 있습니다 :
- 프로세스 관리
- 스레드 관리
- 메모리 관리
- I / O 관리 (디스크 스케줄링 포함)
- 문서 관리는 이 기능은 그림에 표시되지 않았지만, 나는 컴퓨터를 사용하는 모든 사람이 그것을 알고 있다고 생각합니다.
이유는 과정에서 시작해야합니까?
이유는 간단하다, 우리는 본질적으로 그 운영 체제에서 실행되는 응용 프로그램을 사용하는 것입니다, 휴대 전화와 컴퓨터를 포함하여 컴퓨터를 매일 사용합니다. 우리에게 가장 직관적 인 운영 체제 기능은 프로세스를 관리, 그래서 운영 체제의 본질을 근절하기 위해 단계별로 프로세스 관리에서, 외부에서 내부 단계로 시작하도록하는 것입니다.
어떤 과정인가?
나는 단순히 첫 번째 기사에서이 개념의 과정을 언급하고 이해를 깊게하기 위해, 여기에 자세히 얘기.
운영 체제는 기본적으로 개별 사용자에 대한 수요가되어, 사용자의 요구를 충족하도록 설계 한 컴퓨터에서 여러 응용 프로그램을 실행하는 삶과 작업의 요구를 충족하기 위해. 그러나 너무 많은 응용 프로그램, CPU 코어 제한, 인간의 필요가 무제한이기 때문에 각 프로그램은 하나 개의 CPU 코어, 아를 차지하게하는 것은 불가능하다.
따라서 운영 체제는 무제한으로 제한 CPU의 최대에 분산 애플리케이션, (약 과장)가 필요합니다.
우리는 이러한 수 있도록하기 위해, 메모리에로드됩니다 프로그램의 무리 열 때 프로그램을 실행 하고 열려있는 프로그램을 구분하지 않습니다, 우리가 만든 과정 (프로세스)이 용어를. 따라서, 프로세스에서 실행되는 프로그램입니다 추상 동적은. 프로세스 관리는 실제로 어떤 방법으로 시스템을 운영하고, 우리는 프로그램을 열 처리했다.
주 : 다음 논의를 단순화하기 위해, 우리는 컴퓨터가 단일 코어 인 것을 가정한다.
몇이 과정의 주?
과정에 대한 이야기, 우리가 필연적으로 프로세스 상태를 이해하는 것이 필요합니다, 상태가 과정을 이해하고 싶어, 우리는 무슨 과정을 볼 수있는 일생 일대의 관점에서 처리해야합니다.
첫째, 사용자가 응용 프로그램을 열고,이 프로그램에 새로운 상태 , (새로운) 운영 체제에서이 작업 프로그램에 대한 준비가되지 않은이 시간, 프로세스 자체가 메모리를 입력하지 않은, 당신은 또한 디스크에 남아있을 수 있습니다.
이 프로세스가 실행 준비가 대신하여, 메모리에로드 될 때까지 기다립니다하지만, CPU 리소스를 다른 프로세스에서 사용하고 있기 때문에, 그것은 단지 운영 체제를 기다릴 그것을 위해 CPU를 할당 할 수 있습니다. 이 상태는 호출 준비 상태 (준비).
프로세스가 시작되면 일정 기간 후 준비 상태에서는 항상 CPU 리소스가 할당됩니다, 그것은 입력 실행 상태 (실행)를.
어떤 프로세스가 일부 수행 할 수 차단 I를 타고, 운영 / O 작업이 여기에 예를 들어, 작업을 수행 한 후, 프로세스가 I / O 작업이 완료 기다릴 필요가 첫 번째 기사는 사용할 수 없습니다이 기간 동안 과정에 대해 이야기 CPU, 그것은 자원의 낭비를 초래 CPU를 소비하는 것을 계속합니다. 그래서 운영 시스템은 CPU를 사용하고 그것을 넣어 권리 박탈됩니다 차단 상태 . 까지 I / O 작업의 끝 , 배치하기 전에 준비 상태.
하나 개의 최종 상태가 - 종료 상태는 이름에서 알 수 있듯이, 프로세스가이 상태로 종료되며, 종료,이 프로세스는 메모리로부터 삭제되지 않았을 수 있습니다. 완전히 메모리, 완전히 이상의 평생 프로세스의 아웃 처리 될 때까지 기다립니다.
위의 논의를 바탕으로, 우리는 프로세스의 다섯 개 가지 상태를 가지고 :
주의 깊은 독자는 차단 상태로 실행 상태 사이의 화살표를 찾을뿐만 아니라 준비 상태로 상태를 차단하는 단방향 수 있습니다. 이유는 무엇입니까?
의 상태를 차단 실행 살펴 보자. 프로세스가 무엇인지를 대신하여 차단 상태에 있음을 기억하라? (난 당신이 정말 멈추고 생각을 참조 바랍니다)
프로세스는, 상태가 차단 된 차단 작업의 구현의 과정 대신에, 우리는 연산의 결과를 기다리고있다. 즉, 프로세스가 차단 된 상태를 실행하는 방법이 없습니다 그것의 CPU, 그들은 실행 상태를 입력 할 수 있도록 경우에도 CPU를 사용하는 것을 여유가있을 수 없다. 그래서 차단 상태에서 실행 상태를 건너 뛸 수 없습니다.
준비 또는 차단 상태를 이야기 가자. 프로세스가 준비 상태에있는 경우, 지금은 CPU를 사용하지 않는, 작업을 차단 수행 할 가능성이 적습니다. 따라서, 준비 상태에서 차단 상태로 직접 이동할 수 없습니다.
단지의 프로세스의 간단한 큐잉 모델을 살펴 보자, 설명 결합 :
도면은 공정을 나타내는 ABCDEF
준비 상태가 실행 중이거나 상태를 차단하는 것은 제공하는 주목해야한다 프로세스의 동작의 설명 운영 시스템의 구현, 실제 운영 시스템의 대부분은 특정 세 가지 상태로 구성되어 안내, 시스템 접근을. 그러나 그것은 다른 국가에있는 곳이 없으며, 일부 구현에 의미하지 않는다뿐만 아니라 (사실, 주류를 달성하지만, 가상 메모리의 개념을 포함, 그것은 설명 된 이후에 남아있는) 보류중인 상태 및 기타 국가. 그러나 상관없이 운영 체제에 대한 어떤 상태의 컴퓨터 자원과 추상적 인 아웃의 사용을 극대화 없습니다.
몇 가지 사소한 문제가 생각 그대로 :
- 왜에만 종료 각 주 변환을 실행?
- 당신은지도 큐잉 모델을 읽을 수 있습니까?
PCB는 무엇입니까?
관리 및 프로세스의 제어 운영 시스템은 우선 당신은 프로세스의 위치를 알고 있어야합니다 (즉, 메모리가 최대로드 프로세스), 둘째,이 같은 프로세스 ID, 프로세스 상태와 프로세스의 특성을 알 필요가있다, 그래서 우리가이 정보를 저장 할 수있는 구조가있다.
또한 이러한 구조의 프로세스 제어 블록 (프로세스 제어 블록)이다. 프로세스 제어 블록은 프로그램이 시작될 때 나올 것 생성됩니다.
주 콘텐츠 및 프로세스 제어 블록의 메모리 이미지 (추한 단어 Wuguai)
우리는이 정보가 지금 매우 이상한 것 같다,하지만 당신은 운영 체제의 이해를 심화로 향후,이 정보의 의미를 이해하고, 등 포인터, 스택, PCB 중요한 정보 프로세스 ID, 상태 레지스터를 저장 볼 수 있습니다 효과.
더 PCB가에 저장되어있는 메시지가 제공되는 커널 공간 만을 운영 체제 내부의 PCB의 내용을 변경할 수있는 권리를 가지고 있음을 보여줍니다 -. 인쇄 회로 기판이 너무 중요하기 때문에 내부 정보가 악의적으로 수정되면, 그것은 프로세스가 예기치 않게 종료의 원인이됩니다, 심지어 운영 체제의 붕괴로 이어질 수 있습니다.
개요
의 오늘날의 캐릭터 라인의 내용을 살펴 보자 :
프로그램이 실행중인 경우, 운영 체제가 만들어집니다 프로세스 제어 블록 및 메모리로로드 블록 '내에서 공정 제어 프로세스 상태는 "정보로 변경 준비 상태 와 준비 큐에 처리 할당 CPU를 기다리고. CPU의 주, 처리가 진행되면 주행 상태 , 실제 상황, 블로킹 동작도에 바와 같이 수행 될 수있다 상태를 차단하는 프로그램 메모리를 지우고 프로세스 제어 블록을 삭제하는 운영 시스템에 의해 프로세스를 완료 할 때까지.
이전 단락을 읽는다면, 그것은 여전히 매우 모호한 개념 대담, 그때 나는 다시 천천히 기사를 읽어 제안하지만, 효율성을 읽는 것은 매우 낮다 생각하지 않고, 자신의 생각을 가지고해야합니다.
난 당신이 기사를 읽은 후 뭔가를 얻을 수 있기를 바랍니다. 읽어 주셔서 감사합니다, 우리는 다시 만날!
면책 조항 : 허가없이 원래의 문서는 금지되어 재 인쇄