ความแตกต่างระหว่างโปรแกรมและกระบวนการ
เนื้อหา
โปรแกรมและกระบวนการเกี่ยวข้องกับคำศัพท์ ความแตกต่างที่สำคัญระหว่างโปรแกรมและกระบวนการคือโปรแกรมนั้นคือกลุ่มคำสั่งเพื่อดำเนินงานที่ระบุในขณะที่กระบวนการเป็นโปรแกรมในการดำเนินการ ในขณะที่กระบวนการเป็นเอนทิตีที่ใช้งานอยู่โปรแกรมจะถูกพิจารณาว่าเป็นกระบวนการที่ไม่โต้ตอบ
มีความสัมพันธ์แบบหนึ่งต่อหนึ่งระหว่างกระบวนการและโปรแกรมซึ่งหมายความว่าโปรแกรมหนึ่งสามารถเรียกใช้หลายกระบวนการหรือในคำอื่น ๆ หลายกระบวนการสามารถเป็นส่วนหนึ่งของโปรแกรมเดียวกัน
- แผนภูมิเปรียบเทียบ
- คำนิยาม
- ความแตกต่างที่สำคัญ
- ข้อสรุป
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | โครงการ | กระบวนการ |
---|---|---|
ขั้นพื้นฐาน | โปรแกรมคือชุดคำสั่ง | เมื่อเรียกใช้งานโปรแกรมจะเรียกว่ากระบวนการ |
ธรรมชาติ | อยู่เฉยๆ | คล่องแคล่ว |
อายุ | อีกต่อไป | ถูก จำกัด |
ทรัพยากรที่จำเป็น | โปรแกรมถูกเก็บไว้ในดิสก์ในบางไฟล์และไม่ต้องการทรัพยากรอื่นใด | กระบวนการเก็บทรัพยากรเช่น CPU ที่อยู่หน่วยความจำดิสก์ I / O เป็นต้น |
คำจำกัดความของโปรแกรม
โครงการคำง่ายๆนั้นถือได้ว่าเป็นกิจกรรมของระบบ ในระบบประมวลผลแบบแบตช์สิ่งเหล่านี้เรียกว่าการเรียกใช้งานในขณะที่ในระบบปฏิบัติการแบบเรียลไทม์เรียกว่างานหรือโปรแกรม ผู้ใช้สามารถเรียกใช้หลายโปรแกรมที่ระบบปฏิบัติการอำนวยความสะดวกในกิจกรรมภายในโปรแกรมเช่นการจัดการหน่วยความจำโดยใช้เทคนิคบางอย่าง
โปรแกรมคือ เอนทิตีแฝง ตัวอย่างเช่นไฟล์ที่รองรับกลุ่มคำสั่งที่จะดำเนินการ (ไฟล์เรียกทำงาน) มันถูกเรียกเช่นนั้นเพราะมันไม่ได้ดำเนินการใด ๆ ด้วยตัวเองมันจะต้องถูกดำเนินการเพื่อให้ตระหนักถึงการกระทำที่ระบุไว้ในนั้น
พื้นที่ที่อยู่ของโปรแกรมประกอบด้วยคำสั่งข้อมูลและสแต็ก สมมติว่า P เป็นโปรแกรมที่เรากำลังเขียนเพื่อให้เกิดการประมวลผลของ P ระบบปฏิบัติการจะจัดสรรหน่วยความจำเพื่อรองรับพื้นที่ที่อยู่ของ P
มันกำหนดเวลา P สำหรับการดำเนินการและยังตั้งค่าการจัดเรียงที่ p สามารถเข้าถึงข้อมูลไฟล์ CPU จะปรากฏในกล่องประเพราะมันไม่ได้ดำเนินการตามคำแนะนำของ P เสมอไป ในความเป็นจริงระบบปฏิบัติการแบ่งปัน CPU ระหว่างการดำเนินการของ P และการดำเนินการของโปรแกรมอื่น ๆความหมายของกระบวนการ
กระบวนการ เป็นการดำเนินการของโปรแกรม ก็ถือว่าเป็น นิติบุคคลที่ใช้งาน และตระหนักถึงการกระทำที่ระบุในโปรแกรม กระบวนการหลายอย่างอาจเกี่ยวข้องกับโปรแกรมเดียวกัน มันจัดการกิจกรรมระบบปฏิบัติการผ่าน PCB (บล็อกการควบคุมกระบวนการ) ซึ่งรวมถึงตัวนับโปรแกรมสแต็กสถานะ ฯลฯ ตัวนับโปรแกรมจะเก็บลำดับของคำสั่งถัดไปที่จะถูกเรียกใช้ในภายหลัง
มันต้องการทรัพยากรเช่นการประมวลผลหน่วยความจำและทรัพยากร I / O เพื่อให้งานการจัดการสำเร็จ ในระหว่างการดำเนินการของโปรแกรมมันสามารถมีส่วนร่วมประมวลผลหรือการดำเนินงาน I / O ที่ทำให้กระบวนการแตกต่างจากโปรแกรม
ให้เราเข้าใจสิ่งนี้จากตัวอย่าง; เรากำลังเขียนโปรแกรม C ในขณะที่เขียนและจัดเก็บโปรแกรมในไฟล์มันเป็นเพียงสคริปต์และไม่ได้ดำเนินการใด ๆ แต่เมื่อมีการดำเนินการมันจะกลายเป็นกระบวนการกระบวนการจึงเป็นแบบไดนามิกในธรรมชาติ การใช้ทรัพยากรร่วมกันระหว่างหลาย ๆ กระบวนการนั้นใช้งานโดยเครื่องปัจจุบัน แต่ในความเป็นจริงแล้วตัวประมวลผลเดียวจะถูกกระจายไปในหลาย ๆ กระบวนการ
- โปรแกรมเป็นกลุ่มที่ชัดเจนของ สั่งการดำเนินงาน ที่จะดำเนินการ ในทางกลับกัน ตัวอย่าง ของโปรแกรมที่กำลังดำเนินการเป็นกระบวนการ
- ลักษณะของโปรแกรมนั้นเป็นแบบพาสซีฟเนื่องจากไม่ได้ทำอะไรเลยจนกว่ามันจะถูกประมวลผลในขณะที่กระบวนการนั้นเป็นแบบไดนามิกหรือมีการใช้งานในลักษณะที่เป็นอินสแตนซ์ของการเรียกใช้งานโปรแกรมและทำการกระทำเฉพาะ
- โปรแกรมมี อีกต่อไป อายุการใช้งานเนื่องจากจะถูกเก็บไว้ในหน่วยความจำจนกว่าจะไม่ถูกลบด้วยตนเองในขณะที่กระบวนการสั้นและ ถูก จำกัด อายุการใช้งานเพราะจะถูกยกเลิกหลังจากเสร็จสิ้นภารกิจ
- ความต้องการทรัพยากรนั้นสูงขึ้นมากในกรณีของกระบวนการ มันอาจต้องการการประมวลผล, หน่วยความจำ, ทรัพยากร I / O สำหรับการดำเนินการที่ประสบความสำเร็จ ในทางตรงกันข้ามโปรแกรมต้องการหน่วยความจำสำหรับจัดเก็บข้อมูล
ข้อสรุป
โปรแกรมและกระบวนการเกี่ยวข้อง แต่ไม่เหมือนกัน โปรแกรมเป็นเพียงสคริปต์ที่เก็บไว้ในดิสก์หรือดูเหมือนจะเป็นขั้นตอนก่อนหน้าของกระบวนการ ในทางตรงกันข้ามกระบวนการเป็นเหตุการณ์ของโปรแกรมในการดำเนินการ