ชุมชนเทคโนโลยีถกเถียงมรดกของ Unix ขณะที่นวัตกรรมระบบปฏิบัติการหยุดนิ่ง

ทีมชุมชน BigGo
ชุมชนเทคโนโลยีถกเถียงมรดกของ Unix ขณะที่นวัตกรรมระบบปฏิบัติการหยุดนิ่ง

ทฤษฎีสมคบคิดเก่าแก่เกี่ยวกับ Unix ได้จุดประกายการอภิปรายใหม่ในชุมชนเทคโนโลยีเกี่ยวกับนวัตกรรมระบบปฏิบัติการ และว่าการนำ Unix-like systems มาใช้อย่างแพร่หลายได้ขัดขวางความก้าหน้าในการวิจัยวิทยาการคอมพิวเตอร์จริงหรือไม่

ทฤษฎีเดิมที่ได้รับความนิยมในวัฒนธรรม hacker ตั้งแต่ช่วงทศวรรษ 1990 ได้เสนอว่า Bell Labs ได้สร้าง Unix ขึ้นมาโดยเจตนาเป็นม้าโทรจันเพื่อทำให้คู่แข่งต้องพึ่งพาเทคโนโลยีของ AT&T แม้ว่าส่วนใหญ่จะปฏิเสธสิ่งนี้ว่าเป็นเรื่องแต่งเกี่ยวกับการสมคบคิด แต่การอภิปรายได้พัฒนาไปสู่การตรวจสอบอย่างจริงจังมากขึ้นเกี่ยวกับว่าการครอบงำของ Unix อาจจะได้จำกัดการสำรวจกระบวนทัศน์การคำนวณทางเลือกโดยไม่ได้ตั้งใจ

แนวคิดระบบปฏิบัติการทางเลือก

ระบบ นวัตกรรมหลัก ปรัชญาการออกแบบ
IBM AS/400 Single-level store แบบ object-based ทุกอย่างเป็น object มีการเก็บข้อมูลถาวรอัตโนมัติ
Multics Memory segments ทุกอย่างเป็น memory segment
Plan 9 Distributed computing ทุกอย่างเป็นไฟล์ แต่เชื่อมต่อเครือข่าย
Xerox PARC systems Graphical interfaces เน้นประสบการณ์ผู้ใช้

ไทม์ไลน์การยอมรับ Unix

  • 1970s: Unix ถูกพัฒนาที่ Bell Labs แจกจ่ายให้กับมหาวิทยาลัย
  • 1984: งานวิจัยด้านความปลอดภัยสำคัญมีอิทธิพลต่อทฤษฎีสมคบคิด
  • 1990: AT&T เริ่มสูญเสียการควบคุมวิวัฒนาการของ Unix
  • 1991: Linux kernel ถูกปล่อยออกมา เร่งการยอมรับ Unix แบบ open-source
  • ปัจจุบัน: ระบบคล้าย Unix ครองตลาดเซิร์ฟเวอร์ อุปกรณ์มือถือ และการพัฒนา

ปัญหาการหยุดนิ่งของนวัตกรรม

นักพัฒนาและนักวิจัยหลายคนในปัจจุบันโต้แย้งว่าความสำเร็จของ Unix ได้สร้างผลข้างเคียงที่ไม่คาดคิด นั่นคือทำให้การประดิษฐ์วงล้อระบบปฏิบัติการใหม่ดูเหมือนไม่จำเป็น ความพร้อมใช้ของ source code ของ Unix อย่างแพร่หลายและการใช้งาน open-source ในภายหลังเช่น Linux ได้ให้รากฐานที่พร้อมใช้แก่นักวิจัยเพื่อสร้างต่อยอด แต่ความสะดวกนี้อาจจะได้ท้อแท้การคิดใหม่อย่างพื้นฐานที่นำไปสู่นวัตกรรมที่ก้าวล้ำ

ปัญหานี้ขยายไปเกินกว่าแค่ตัว Unix เอง นักพัฒนาระบบปฏิบัติการสมัยใหม่เกือบจะใช้ POSIX compatibility โดยอัตโนมัติ โดยสร้างแนวคิดของ Unix ขึ้นใหม่แม้กระทั่งเมื่อสร้างระบบที่ควรจะเป็นใหม่ รูปแบบนี้ได้ฝังรากลึกจนทำให้ทางเลือกอื่นสำหรับแนวคิดพื้นฐานของ Unix เช่น hierarchical file systems และปรัชญา everything is a file แทบไม่ได้รับการสำรวจ

ภาพรวมของสิ่งที่อาจจะเป็นไปได้

การอภิปรายได้เน้นย้ำการออกแบบระบบปฏิบัติการทางเลือกหลายแบบที่ใช้แนวทางที่แตกต่างอย่างสิ้นเชิง ระบบ AS/400 ของ IBM ตัวอย่างเช่น ปฏิบัติต่อทุกอย่างเป็น objects แทนที่จะเป็น files ด้วย single-level store ที่ขจัดขอบเขตดั้งเดิมระหว่าง memory และ storage ผู้ใช้ไม่จำเป็นต้องจัดการ file system ในความหมายดั้งเดิม - objects ที่สร้างขึ้นใน memory จะถูกเก็บไว้ใน storage โดยอัตโนมัติเว้นแต่จะถูกทำเครื่องหมายเป็น temporary อย่างชัดเจน

ในทำนองเดียวกัน ระบบเช่น Multics เสนอการจัดการ memory ที่ซับซ้อนที่ทุกอย่างมีอยู่เป็น memory segments ขณะที่การวิจัยของ Xerox PARC มีอิทธิพลต่อ graphical interfaces ที่ให้ความสำคัญกับประสบการณ์ผู้ใช้มากกว่าความสง่างามทางเทคนิค นักพัฒนาบางคนฝันถึงระบบปฏิบัติการที่สร้างขึ้นรอบภาษาโปรแกรมเช่น Lisp ซึ่งจะเปิดใช้งานความยืดหยุ่นและ composability ที่ไม่เคยมีมาก่อน

ข้อจำกัดสมัยใหม่และแรงกดดันในอาชีพ

ความท้าทายไม่ได้อยู่แค่ด้านเทคนิค แต่ยังเป็นเรื่องเศรษฐกิจและอาชีพด้วย การสร้างระบบปฏิบัติการเชิงทดลองต้องการการลงทุนด้านเวลาอย่างมหาศาลโดยมีผลลัพธ์ที่ไม่แน่นอน ในสภาพแวดล้อมทางวิชาการแบบ publish or perish และการวิจัยของบริษัทที่เน้นผลลัพธ์ในปัจจุบัน มีเพียงไม่กี่คนที่สามารถจ่ายได้ที่จะใช้เวลาหลายปีกับการออกแบบระบบเชิงคาดการณ์ที่อาจจะไม่เป็นผล

นอกจากนี้ ระบบคอมพิวเตอร์สมัยใหม่ได้กลายเป็นเรื่องซับซ้อนอย่างเหลือเชื่อ ข้อกำหนดแต่ละรายการสามารถยาวถึง 15,000 หน้า และไม่มีใครคนเดียวที่สามารถเข้าใจระบบ hardware และ software ร่วมสมัยได้อย่างเต็มที่แม้แต่ในส่วนเล็กๆ ความซับซ้อนนี้รับประกันได้ว่าการเปลี่ยนแปลงที่มีความหมายสามารถเป็นได้เพียงแบบค่อยเป็นค่อยไปมากกว่าการปฏิวัติ

สำหรับผม จุดเปลี่ยนนั้นมาถึงเมื่อผมมองไปที่ AS/400 ของ IBM ที่รู้จักกันในปัจจุบันในชื่อ IBM i แม้ว่าจะได้ใช้คอมพิวเตอร์มาตั้งแต่ช่วงทศวรรษ 80 และ Unix/Linux มาตั้งแต่ประมาณกลางทศวรรษ 90 แต่ AS/400 ในภายหลังเท่านั้นที่ทำให้ผมตระหนักว่า OS เกือบทุกตัวที่ผมรู้จักนั้น unixoid มากแค่ไหน

ความขัดแย้งก็คือ ในขณะที่ทฤษฎีสมคบคิดเดิมของ Unix น่าจะเป็นเท็จ แต่ความสำเร็จที่แท้จริงของ Unix อาจจะได้บรรลุผลลัพธ์ที่คล้ายคลึงกัน - ไม่ใช่ผ่านการวางแผนของบริษัท แต่ผ่านแนวโน้มธรรมชาติที่จะสร้างต่อยอดจากสิ่งที่ได้ผลมากกว่าการจินตนาการใหม่ในสิ่งที่เป็นไปได้

คำศัพท์เทคนิค:

  • POSIX: ชุดมาตรฐานที่กำหนดว่าระบบปฏิบัติการแบบ Unix-like ควรทำงานอย่างไร
  • Single-level store: ระบบการจัดการ memory ที่ความแตกต่างระหว่าง RAM และ permanent storage ถูกซ่อนจากผู้ใช้
  • Multics: ระบบปฏิบัติการยุคแรกที่มีอิทธิพลต่อการออกแบบของ Unix แต่ใช้แนวทางสถาปัตยกรรมที่แตกต่างมาก

อ้างอิง: Unix conspiracy