กระบวนการแยกคืออะไร?

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

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

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

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

นอกจากนี้ยังมีสถานการณ์ที่สามารถใช้ขั้นตอนบางอย่างเพื่ออนุญาตให้กระบวนการต่าง ๆ สื่อสารกับคนอื่นได้อย่างปลอดภัย แต่ให้พวกเขาเป็นอิสระต่อกัน ผ่านกลไกต่าง ๆ เช่นการสื่อสารระหว่างกระบวนการ (IPC) และหน่วยความจำที่ใช้ร่วมกันกระบวนการสามารถแลกเปลี่ยนข้อมูล แต่ยังคงถูก จำกัด พื้นที่หน่วยความจำของตนเอง ฟังก์ชันนี้มีความสำคัญเมื่อกระบวนการต้องการข้อมูลจากกระบวนการจัดการที่แตกต่างกันซึ่งเป็นของระบบปฏิบัติการ

การแยกกระบวนการเป็นคุณลักษณะที่สำคัญของซอฟต์แวร์และฮาร์ดแวร์ที่ช่วยให้สามารถใช้เทคโนโลยีหลาย ๆ เซิร์ฟเวอร์เครื่องเสมือนทำงานด้วยรูปแบบการแยกกระบวนการขั้นสูงซึ่งอยู่ในการจัดการฮาร์ดแวร์และซอฟต์แวร์ ความสามารถในการรันแอปเพล็ตหรือสคริปต์อื่น ๆ อย่างปลอดภัยจากเว็บไซต์นั้นขึ้นอยู่กับกระบวนการที่ถูกแยกออกจากทรัพยากรระบบที่สำคัญ อุปกรณ์มือถือและระบบฝังตัวใช้การแยกกระบวนการเพื่อให้ฮาร์ดแวร์หลักยังคงปลอดภัยแม้จะมีข้อผิดพลาดหรือซอฟต์แวร์ที่เป็นอันตรายกำลังทำงานอยู่