UNIX/Linux History
ประวัติระบบปฏิบัติการคอมพิวเตอร์
เป็นระยะเวลาไม่น้อยกว่า 60 ปี เมื่อย้อนกลับไปตั้งแต่ก่อนที่นักพัฒนาจากห้องปฏิบัติการ Bell จะพัฒนาระบบปฏิบัติการแบบใหม่ ชื่อว่า "ระบบปฏิบัติการ UNIX" โดยใช้ภาษาซี (C Language) เป็นภาษาโปรแกรมหลักในการพัฒนาเพื่อเขียนระบบปฏิบัติการตัวนี้ขึ้นมา จนกลายเป็นภาษาที่ได้รับความนิยมในหมู่นักเขียนโปรแกรมมากที่สุด จุดเริ่มต้นของเรื่องนี้ทั้งหมดเกิดขึ้นในปี ค.ศ. 1960 ซึ่งได้เริ่มมีการพัฒนาระบบปฏิบัติการแบบแบ่งเวลา (timesharing) โดย Dartmouth College และ Massachusetts Institute of Technology (M.I.T.) ซึ่งมีจุดเด่นคือ ผู้ใช้หลายคนสามารถใช้เครื่องในเวลาเดียวกันได้ โดยอาศัยการแบ่งเวลาของหน่วยประมวลผลกลางให้แก่ผู้ใช้เวียนกันไป ถูกพัฒนาขึ้นโดยภาษาโปรแกรมเบสิค (BASIC Language) แต่ประสบความสำเร็จในการใช้งานทางธุรกิจแค่ช่วงระยะหนึ่ง ในขณะที่ระบบปฏิบัติการอีกตัวชื่อ CTSS (MIT's Compatible Time-Sharing System) จาก M.I.T. ซึ่งเป็นระบบฏิบัติการที่ได้ถูกออกแบบเพื่อให้เป็นระบบปฏิบัติการอเนกประสงค์ ก็ได้รับความนิยมในกลุ่มนักวิทยาศาสตร์เป็นพิเศษ หลังจากนั้นไม่นานทาง M.I.T. ห้องปฏิบัติการ Bell และบริษัท GE (General Electric) ซึ่งเป็นบริษัทผู้ผลิตคอมพิวเตอร์ ได้รวมกลุ่มกันเพื่อทำการวิจัยและออกแบบระบบปฏิบัติการแบบแบ่งเวลาตัวใหม่ ให้มีความสามารถมากขึ้นและกำหนดชื่อระบบปฏิบัติใหม่นี้ชื่อว่า MULTICS (MULTiplexed Information and Computing Service)
แม้ว่าตัวระบบปฏิบัติการ MULTICS จะสามารถรองรับผู้ใช้ได้หลายร้อยคน แต่โครงการก็ยังเกิดปัญหาขึ้นหลายอย่าง โดยเฉพาะอย่างยิ่งตัวภาษา PL/I ที่ใช้ในการเขียนโปรแกรมนั้นยังอยู่ในระหว่างการพัฒนาและมีการพัฒนาล่าช้ากว่ากำหนดการที่กำหนดไว้มากและมีข้อบกพร่องมากมาย รวมทั้งปัจจัยอื่นที่เทคโนโลยีในขณะนั้นเองก็ยังไม่พร้อม ห้องปฏิบัติการ Bell จึงได้ถอนตัวออกจากโครงการหลังจากสิ้นสุดโครงการระยะแรก
หนึ่งในนักวิจัยของโครงการชื่อ Ken Thompson จึงเริ่มหาแนวทางในการทำวิจัยต่อไป โดยยังคงนำระบบปฏิบัติการ MULTICS มาทำการพัฒนาต่อ ซึ่งได้ทำการย่อส่วนโค้ดโปรแกรมโดยใช้ภาษาแอสเซมบลี้ (Assembly Language) ในการพัฒนาระบบปฏิบัติการตัวใหม่นี้บนเครื่องมินิคอมพิวเตอร์รุ่น PDP-7 จนกลายเป็นระบบปฏิบัติการที่สามารถทำงานได้เป็นอย่างดี และในที่สุดก็ได้ถูกตั้งชื่อใหม่โดยหนึ่งในนักวิจัยของห้องปฏิบัติการ Bell ชื่อ Brain Kernighan ว่า UNICS (Uniplexed Information and Computing Service) เพื่อเป็นการล้อเลียนโครงการ MULTICS และต่อมาก็ได้รับการเปลี่ยนชื่อเป็น UNIX
ต่อมาก็ได้มีนักวิจัยคนอื่นๆในห้องปฏิบัติการ Bell เริ่มสนใจที่จะขอเข้าร่วมโครงการเพื่อพัฒนาระบบปฏิบัติการ UNIX ของ Ken Thompson มากขึ้น และคนแรกที่ได้เข้าร่วมก็คือ Dennis Ritchie เพื่อพัฒนาระบบปฏิบัติการ UNIX อยู่บนเครื่องมินิคอมพิวเตอร์รุ่น PDP-11 ซึ่งมีขีดความสามารถสูงกว่าเครื่องรุ่น PDP-7 เดิม ต่อมานักวิจัยที่เหลือก็ได้เข้าร่วมโครงการทั้งหมด จนทำให้ระบบปฏิบัติการ UNIX ที่อยู่บนเครื่องรุ่น PDP-11/45 และ PDP-11/70 ดังรูปข้างล่าง ได้รับความนิยมในตลาดสูงในช่วงทศวรรษที่ 1970 เพราะได้เพิ่มขนาดของหน่วยความจำให้ขนาดใหญ่ และมีกลไกการป้องกันหน่วยความจำ ทำให้เป็นเครื่องคอมพิวเตอร์ที่สามารถรองรับการใช้งานผู้ใช้หลายคนในเวลาเดียวกันได้พร้อมกัน
นอกจากนั้นห้องปฏิบัติการ Bell ยังได้วางแผนพัฒนาภาษาโปรแกรมตัวใหม่ เพื่อใช้ในการเขียนระบบปฏิบัติการเนื่องจากคอมพิวเตอร์แต่ละรุ่นจะมีโครงสร้างทางฮาร์ดแวร์แตกต่างกัน ทำให้ต้องใช้เวลาในการพัฒนาด้วยภาษาโปรแกรมแอสเซมบลี้มากพอสมควร จึงเป็นเหตุผลสำคัญที่จะต้องเร่งสร้างภาษาโปรแกรมตัวใหม่ที่ยืดหยุ่นสำหรับระบบปฏิบัติการในอนาคต โดยในระยะแรกของการพัฒนาภาษาโปรแกรมนั้นทาง Ken Thompson ได้เลือกใช้ภาษาบี (B Language) ซึ่งเป็นภาษาโปรแกรมที่พัฒนาต่อมาจากภาษา BCPL (Basic Combined Programming Language) พัฒนาโดย M.I.T. ดังวิวัฒนาการภาษาโปรแกรมดังรูปข้างล่าง
ตัวอย่างโปรแกรมแสดงค่า 5 Factorials โดยเปรียบเทียบรูปแบบการเขียนโปรแกรมด้วยภาษา BCPL และภาษาบี
โปรแกรมด้วยภาษา BCPL
ตัวอย่างโปรแกรมภาษาบีจากตัวอย่างหนังสือที่ Ken Thompson เป็นผู้เขียน
แต่เนื่องจากตัวภาษาบีเองนั้นเป็นภาษาโปรแกรมที่มีโครงสร้างข้อมูลและรูปแบบการควบคุมภายในยังมีข้อจำกัดอยู่พอสมควร ทำให้การพัฒนาระบบปฏิบัติการ UNIX โดยใช้ภาษาบียังไม่ค่อยประสบความสำเร็จเท่าที่ควร ดังนั้นทาง Dennis Ritchie จึงได้พัฒนาและปรับปรุงภาษาบีให้มีคุณสมบัติที่เหมาะสมในการเขียนระบบปฏิบัติการมากยิ่งขึ้น และในที่สุดก็ได้กลายมาเป็นภาษาโปรแกรมตัวใหม่ชื่อว่า ภาษาซี (C Language) ต่อมาทาง Thompson และ Ritchie ได้ร่วมกันพัฒนาระบบปฏิบัติการ UNIX จากภาษาซีใหม่ทั้งหมด ทำให้ภาษาซีกลายมาเป็นภาษาโปรแกรมที่ได้รับความนิยมในหมู่นักเขียนโปรแกรมอย่างมากเนื่องจากเป็นภาษาอเนกประสงค์ที่เหมาะกับการใช้เขียนโปรแกรมแบบต่างๆและหลากหลาย ทั้งยังเป็นภาษาโปรแกรมที่สามารถทำความเข้าใจได้ง่ายและสามารถนำโค้ดโปรแกรมเก่ามาใช้งานประยุกต์กับโปรแกรมใหม่ได้ ต่อมาในปี ค.ศ. 1974 Ritchie และ Thompson ได้ตีพิมพ์ผลงานการวิจัยและพัฒนาระบบปฏิบัติการ UNIX ตัวใหม่นี้ จนเป็นผลให้ทั้งสองได้รับรางวัล ACM Turing Award ในปี ค.ศ. 1984
จากผลงานดังกล่าวทางบริษัท AT&T ผู้เป็นเจ้าของห้องปฏิบัติการ Bell และเป็นผู้ถือลิขสิทธิ์ระบบปฏิบัติการ UNIX ได้อนุญาตให้มหาวิทยาลัยต่างๆ ใช้ระบบปฏิบัติการ UNIX โดยเสียค่าธรรมเนียมเพียงเล็กน้อย เพื่อหวังให้เป็นที่นิยมมากยิ่งขึ้น ในขณะนั้นด้วยระบบปฏิบัติการจะมากับเครื่อง PDP-11 ซึ่งยังทำงานไม่มีประสิทธิภาพดีพอและยังใช้งานยากอยู่ จึงทำให้เกิดการวิจัยและพัฒนาปรับปรุงระบบปฏิบัติการ UNIX กันอย่างกว้างขวาง จนกระทั่งในที่สุดก็ได้เกิดตัวใหม่ขึ้นที่ชื่อว่า ระบบปฏิบัติการ BSD UNIX (Berkeley Software Distribution UNIX) ซึ่งถูกพัฒนาโดย University of California (UC Berkeley) จนกลายเป็นตัวหนึ่ง ที่ได้รับความนิยมและมีการใช้งานกันอย่างแพร่หลายในสถาบันการศึกษา ต่อมาหน่วยงานกระทรวงกลาโหมของสหรัฐฯ (Defense Advanced Research Projects Agency - DARPA) ก็ได้ให้ทุนกับทาง UC Berkeley เพื่อพัฒนาระบบปฏิบัติการ UNIX ต่อให้กลายเป็น Version 4 BSD เพื่อรองรับการสื่อสารของเครือข่าย DARPA ที่ใช้มาตราฐานในการสื่อสารชื่อว่า TCP/IP ต่อมาในปี ค.ศ. 1993 ทาง UC Berkley ก็ได้ออกตัว BSD รุ่น 4.4 ที่รองรับการสื่อสารแบบโปรโตคอล X.25 แต่เป็นที่น่าเสียดายที่ในที่สุด UC Berkeley ก็ได้หยุดการพัฒนาระบบปฏิบัติการ UNIX ในเวลาต่อมา
Last updated