UNIX

วันนี้มาเล่าเรื่อง UNIX ให้ฟังครับ เพื่อนๆหลายคนอาจจะไม่ทราบว่าทำไม UNIX ถึงมีหลายตัว แต่ละตัวมีความเป็นมาอย่างไร และแตกต่างกันอย่างไรบ้าง และจะเล่าถึงบทบาทความสำคัญที่ UNIX เป็นรากฐานสำคัญของวงการไอที

กำเนิดของ UNIX

UNIX เกิดขึ้นในปี ค.ศ. 1969 (ซึ่งเป็นปีที่ Linus Torvalds ผู้สร้าง Linux เกิด) ผู้ที่สร้าง UNIX คือ Ken Thompson ซึ่งทำงานที่ Bell Laboratories หน่วยงานย่อยของ AT&T บริษัทโทรคมนาคมยักษ์ใหญ่ของสหรัฐอเมริกา

ก่อนหน้าที่จะทำ UNIX นั้น AT&T เคยร่วมมือกับ MIT (สถาบันเทคโนโลยีแห่งเมสซาจูเสส) และ GE (บริษัท General Electric) ทำ OS ชื่อ MULTICS มาก่อน แต่โครงการไม่ประสบความสำเร็จ แตกคอกันก่อน

Ken Thompson ก็หอบเอาไอเดียกลับมาสร้าง UNIX ที่ Bell Labs และออกเวอร์ชั่นแรกในปี 1970 ทำงานบนเครื่อง PDP-11 เขียนด้วยภาษา Assembly ล้วนๆ ต่อมาได้ Denis Ritchie ซึ่งทำงานที่ Bell Labs เหมือนกันมาสร้างภาษา C ขึ้น โดยพัฒนาจากภาษา B ที่ Ken Thompson เคยทำไว้ก่อน สามปีหลังจากนั้น UNIX ก็ใช้ C เขียน Kernel เกือบทั้งหมด (ค.ศ. 1973)

Ken Thompson ในปี 2019 – ที่มา Wikipedia

ในช่วงนั้นเอง AT&T โดนรัฐบาลสหรัฐกล่าวหาเรื่องการผูกขาดในตลาดโทรคมนาคม จึงออกกฎให้ AT&T ห้ามขายซอฟต์แวร์ ซึ่งนับเป็นความโชคดีของชาวโลก เพราะทำให้ AT&T มอบ UNIX ให้แก่มหาวิทยาลัยต่างๆใช้ โดยเปิด soruce code ให้ด้วย ในตอนนั้น Kernel ของ UNIX มีขนาดราวๆ 10,000 บรรทัด

UNIX ในมหาวิทยาลัย

มหาวิทยาลัยต่างๆ จึงได้มีโอกาสศึกษาและดัดแปลงแก้ไข UNIX กันอย่างกว้างขวาง มีคอมพิวเตอร์ในมหาวิทยลัยกว่า 500 เครื่องจาก 125 มหาวิทยาลัย ใช้งาน UNIX ในช่วงนั้น และ Ken Thompson ก็ไปเป็นอาจารย์พิเศษที่ Berkeley (University of Califonia at Burkeley) ในช่วงปี ค.ศ. 1975-1976 ได้ผลิตลูกศิษย์ชั้นเยี่ยมหลายคน หนึ่งในนั้นคือ Bill Joy ผู้ก่อตั้ง Sun Microsystem นั้นเอง

ในปี 1979 UNIX ออกเวอร์ชั่น 7 ซึ่งมีความสำคัญมาก เพราะ UNIX เริ่มแยกเป็น 2 สาย โดย Berkeley ออกเป็น BSD (Berkeley Software Distribution) ส่วน AT&T ซึ่งตอนนั้นโดนศาลสั่งให้แยกบริษัท จึงแยกส่วนซอฟต์แวร์ออกมา และมีสิทธิ์ขายซอฟต์แวร์ได้ จึงออก UNIX System III ออกมาในปี 1981

UNIX ในฐานะผลิตภัณฑ์

ในช่วงทศวรรษที่ 80 นี่เอง ที่เริ่มเกิดตลาด Workstation กันเป็นทิวแถว Sun, Digital, HP, IBM และ NeXT ต่างก็ออกตลาดในช่วงนี้ แม้แต่ Microsoft ก็มี XENIX สำหรับ CPU Intel ออกมากับเค้าด้วย

พอตลาดเกิด ทุนนิยมก็ครอบงำ BSD กลายเป็น OS ที่ใช้กันในมหาวิทยาลัย ส่วน UNIX ก็กลายเป็นสินค้า commercial แบบเต็มตัว โชคยังดีที่ UNIX ของ AT&T ใช้โค๊ดส่วนหนึ่งจาก BSD ก็เลยไม่เกิดการฟ้องร้องกัน

ดังนั้นความหมายของคำว่า UNIX จึงมีสองนัยยะ คือ UNIX ของฝั่ง AT&T ภายใต้ The Open Group ที่เป็นเจ้าของเครื่องหมายการค้า UNIX และออกข้อกำหนดที่เรียกว่า Single UNIX Specification โอเอสที่จะเรียกตัวเองว่า UNIX ต้องผ่านข้อกำหนดนี้เท่านั้น ซึ่งมีอยู 7 ตัวคือ AIX, FTX, EulerOS, HP-UX, XInuos, z/OS และ MacOS นี่เป็นเหตุว่าทำไม MacOS จึงเสถียรมาก

ส่วน UNIX ในอีกความหมายหนึ่งคือ OS ที่มีหลักการทำงานเหมือน UNIX แต่ไม่ได้ใช้เครื่องหมายการค้า UNIX เช่น BSD หรือ Linux เองก็จะอยู่ในความหมายนี้เช่นกัน

ตอนหน้าจะมาเล่าเรื่อง Linux ต่อ…