ระบบปฏิบัติการ - กระบวนการ

กระบวนการ

โดยทั่วไปกระบวนการเป็นโปรแกรมในการดำเนินการ การดำเนินการของกระบวนการจะต้องดำเนินไปตามลำดับ

กระบวนการถูกกำหนดให้เป็นเอนทิตีซึ่งแสดงถึงหน่วยพื้นฐานของงานที่จะดำเนินการในระบบ

พูดง่ายๆก็คือเราเขียนโปรแกรมคอมพิวเตอร์ของเราในไฟล์ข้อความและเมื่อเรารันโปรแกรมนี้มันจะกลายเป็นกระบวนการที่ทำงานทั้งหมดที่กล่าวถึงในโปรแกรม

เมื่อโปรแกรมถูกโหลดลงในหน่วยความจำและกลายเป็นกระบวนการสามารถแบ่งออกเป็นสี่ส่วนคือกองซ้อนฮีปข้อความและข้อมูล ภาพต่อไปนี้แสดงเค้าโครงที่เรียบง่ายของกระบวนการภายในหน่วยความจำหลัก -

SN ส่วนประกอบและคำอธิบาย
1

Stack

กระบวนการ Stack ประกอบด้วยข้อมูลชั่วคราวเช่นพารามิเตอร์ method / function ที่อยู่ที่ส่งกลับและตัวแปรภายใน

2

Heap

นี่คือหน่วยความจำที่จัดสรรแบบไดนามิกให้กับกระบวนการในช่วงเวลาที่รัน

3

Text

ซึ่งรวมถึงกิจกรรมปัจจุบันที่แสดงโดยค่าของ Program Counter และเนื้อหาของรีจิสเตอร์ของโปรเซสเซอร์

4

Data

ส่วนนี้ประกอบด้วยตัวแปรส่วนกลางและตัวแปรคงที่

โปรแกรม

โปรแกรมคือโค้ดส่วนหนึ่งซึ่งอาจเป็นบรรทัดเดียวหรือหลายล้านบรรทัด โปรแกรมคอมพิวเตอร์มักเขียนโดยโปรแกรมเมอร์คอมพิวเตอร์ในภาษาโปรแกรม ตัวอย่างเช่นนี่คือโปรแกรมง่ายๆที่เขียนด้วยภาษาซี -

#include <stdio.h>

int main() {
   printf("Hello, World! \n");
   return 0;
}

โปรแกรมคอมพิวเตอร์คือชุดคำสั่งที่ทำหน้าที่เฉพาะเมื่อดำเนินการโดยคอมพิวเตอร์ เมื่อเราเปรียบเทียบโปรแกรมกับกระบวนการเราสามารถสรุปได้ว่ากระบวนการเป็นอินสแตนซ์แบบไดนามิกของโปรแกรมคอมพิวเตอร์

ส่วนหนึ่งของโปรแกรมคอมพิวเตอร์ที่ทำงานที่กำหนดไว้อย่างชัดเจนเรียกว่าไฟล์ algorithm. ชุดโปรแกรมคอมพิวเตอร์ไลบรารีและข้อมูลที่เกี่ยวข้องเรียกว่า asoftware.

วงจรชีวิตของกระบวนการ

เมื่อกระบวนการดำเนินการกระบวนการจะผ่านสถานะต่างๆ ขั้นตอนเหล่านี้อาจแตกต่างกันในระบบปฏิบัติการที่แตกต่างกันและชื่อของสถานะเหล่านี้ก็ไม่ได้เป็นมาตรฐานด้วย

โดยทั่วไปกระบวนการสามารถมีหนึ่งในห้าสถานะต่อไปนี้ในแต่ละครั้ง

SN รัฐและคำอธิบาย
1

Start

นี่คือสถานะเริ่มต้นเมื่อกระบวนการเริ่มต้น / สร้างขึ้นครั้งแรก

2

Ready

กระบวนการนี้กำลังรอกำหนดให้กับโปรเซสเซอร์ กระบวนการที่พร้อมใช้งานกำลังรอให้โปรเซสเซอร์จัดสรรโดยระบบปฏิบัติการเพื่อให้สามารถรันได้ กระบวนการอาจเข้าสู่สถานะนี้หลังจากนั้นStart สถานะหรือในขณะที่รันโดย แต่ถูกขัดจังหวะโดยตัวกำหนดตารางเวลาเพื่อกำหนด CPU ให้กับกระบวนการอื่น

3

Running

เมื่อกระบวนการถูกกำหนดให้กับโปรเซสเซอร์โดยตัวกำหนดตารางเวลา OS สถานะของกระบวนการจะถูกตั้งค่าให้ทำงานและโปรเซสเซอร์จะดำเนินการตามคำสั่ง

4

Waiting

กระบวนการจะย้ายเข้าสู่สถานะรอหากจำเป็นต้องรอทรัพยากรเช่นรอการป้อนข้อมูลของผู้ใช้หรือรอให้ไฟล์พร้อมใช้งาน

5

Terminated or Exit

เมื่อกระบวนการเสร็จสิ้นการดำเนินการหรือถูกยุติโดยระบบปฏิบัติการกระบวนการจะถูกย้ายไปยังสถานะสิ้นสุดที่รอการลบออกจากหน่วยความจำหลัก

บล็อกควบคุมกระบวนการ (PCB)

Process Control Block คือโครงสร้างข้อมูลที่ดูแลโดยระบบปฏิบัติการสำหรับทุกกระบวนการ PCB ถูกระบุโดย ID กระบวนการจำนวนเต็ม (PID) PCB เก็บข้อมูลทั้งหมดที่จำเป็นในการติดตามกระบวนการดังที่แสดงไว้ด้านล่างในตาราง -

SN ข้อมูลและคำอธิบาย
1

Process State

สถานะปัจจุบันของกระบวนการคือไม่ว่าจะพร้อมทำงานกำลังรอหรืออะไรก็ตาม

2

Process privileges

สิ่งนี้จำเป็นเพื่ออนุญาต / ไม่อนุญาตให้เข้าถึงทรัพยากรระบบ

3

Process ID

การระบุเฉพาะสำหรับแต่ละกระบวนการในระบบปฏิบัติการ

4

Pointer

ตัวชี้ไปยังกระบวนการหลัก

5

Program Counter

Program Counter เป็นตัวชี้ไปยังที่อยู่ของคำสั่งถัดไปที่จะดำเนินการสำหรับกระบวนการนี้

6

CPU registers

ซีพียูรีจิสเตอร์ต่างๆที่จำเป็นต้องจัดเก็บโปรเซสไว้เพื่อดำเนินการเพื่อรันสถานะ

7

CPU Scheduling Information

ลำดับความสำคัญของกระบวนการและข้อมูลการจัดกำหนดการอื่น ๆ ซึ่งจำเป็นในการจัดกำหนดการกระบวนการ

8

Memory management information

ซึ่งรวมถึงข้อมูลของตารางเพจขีด จำกัด หน่วยความจำตารางเซ็กเมนต์ขึ้นอยู่กับหน่วยความจำที่ใช้โดยระบบปฏิบัติการ

9

Accounting information

ซึ่งรวมถึงจำนวน CPU ที่ใช้ในการดำเนินการกระบวนการขีด จำกัด เวลา ID การดำเนินการเป็นต้น

10

IO status information

ซึ่งรวมถึงรายการอุปกรณ์ I / O ที่จัดสรรให้กับกระบวนการ

สถาปัตยกรรมของ PCB ขึ้นอยู่กับระบบปฏิบัติการอย่างสมบูรณ์และอาจมีข้อมูลที่แตกต่างกันในระบบปฏิบัติการที่แตกต่างกัน นี่คือแผนภาพที่เรียบง่ายของ PCB -

PCB จะได้รับการบำรุงรักษาตลอดอายุการใช้งานและจะถูกลบเมื่อกระบวนการสิ้นสุดลง