# เสมือนยูนิกซ์

วิวัฒนาการของระบบยูนิกซ์และเสมือนยูนิกซ์ เริ่มในปี 1969
**ระบบปฏิบัติการเสมือนยูนิกซ์** หรือบางตำราได้ถูกเรียกว่า **ระบบปฏิบัติการเหมือนยูนิกซ์** และ **ระบบปฏิบัติการคล้ายยูนิกซ์** (**Unix-like**, **UN\*X** หรือ **\*nix**) เป็นระบบปฏิบัติการที่ทำงานในลักษณะคล้ายกับระบบยูนิกซ์ แม้ว่าจะไม่จำเป็นต้องเป็นไปตามหรือได้รับการรับรองในเวอร์ชันใด ๆ ของ Single UNIX Specification โปรแกรมประยุกต์เสมือนยูนิกซ์ คือโปรแกรมประยุกต์ที่ทำงานเหมือนกับ Unix command หรือ เชลล์ ที่เกี่ยวข้อง ถึงแม้ว่าจะมีหลักปรัชญาโดยทั่วไป (ปรัชญายูนิกซ์) สำหรับการออกเสมือนยูนิกซ์ กระนั้นก็ไม่มีมาตรฐานทางเทคนิคที่กำหนดคำนี้ และผู้คนก็อาจมีความคิดเห็นแตกต่างกันว่าระดับของระบบปฏิบัติการหรือโปรแกรมประยุกต์ต้องมีคุณสมบัติอย่างไรถึงจะเรียกว่าเป็นเสมือนยูนิกซ์ได้

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

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

## คำนิยาม

Open Group เป็นเจ้าของเครื่องหมายการค้ายูนิกซ์และดูแลข้อกำหนด Single UNIX Specification โดยใช้ชื่อ "UNIX" เป็น เครื่องหมายรับรอง พวกเขาไม่อนุมัติคำว่า "เสมือนยูนิกซ์" โดยถือว่าเป็นการใช้เครื่องหมายการค้าในทางที่ผิด หลักเกณฑ์ของพวกเขากำหนดให้แสดง "UNIX" เป็นตัวพิมพ์ใหญ่หรือแยกความแตกต่างจากข้อความโดยรอบ และยังสนับสนุนอย่างยิ่งให้ใช้เป็นคำคุณศัพท์ที่ใช้สร้างแบรนด์สำหรับคำทั่วไป เช่น "ระบบ UNIX" และไม่สนับสนุนการใช้ในวลีที่มีการใส่ยัติภังค์

บุคคลอื่นมักถือว่า "Unix" เป็น เครื่องหมายการค้าทั่วไป บางคนเพิ่มอักขระไวด์การ์ดลงไปในชื่อเพื่อสร้างคำย่อเช่น "Un\*x" หรือ "\*nix" เนื่องจากระบบเสมือนยูนิกซ์มักจะมีชื่อที่เหมือนกับคำว่า Unix เช่น AIX, A/UX, HP-UX, IRIX, Linux, Minix, Ultrix, Xenix และ XNU . รูปแบบอย่าง "Un\*x" หรือ "\*nix" นั้นไม่ได้ตรงกับชื่อระบบหลาย ๆ ชื่อจริง ๆ แต่โดยทั่วไปยังคงเป็นที่รู้จักในการอ้างถึงระบบยูนิกซ์, ระบบสืบทอด หรือระบบที่เหมือนกัน แม้แต่ระบบที่มีชื่อต่างกันโดยสิ้นเชิง เช่น Darwin / macOS, illumos / Solaris หรือ FreeBSD

ในปี พ.ศ. 2550 Wayne R. Gray ฟ้องร้องเพื่อโต้แย้งสถานะของยูนิกซ์ในฐานะเครื่องหมายการค้า แต่แพ้คดี และแพ้อีกครั้งในการอุทธรณ์ โดยศาลสนับสนุนเครื่องหมายการค้าและความเป็นเจ้าของเครื่องหมายการค้า

## ความเป็นมา

 ประวัติย่อของระบบปฏิบัติการเสมือนยูนิกซ์
ระบบเสมือนยูนิกซ์เริ่มปรากฏในช่วงปลายทศวรรษ 1970 และต้นทศวรรษ 1980 เวอร์ชัน ที่เป็นกรรมสิทธิ์ หลายเวอร์ชัน เช่น Idris (1978), UNOS (1982), Coherent (1983) และ UniFlex (1985) มีวัตถุประสงค์เพื่อให้ธุรกิจมีฟังก์ชันการทำงานสำหรับผู้ใช้ทางวิชาการของ UNIX

เมื่อเอทีแอนด์ทีอนุญาตให้ใช้สิทธิ์ไบนารี่เชิงพาณิชย์ที่มีราคาไม่แพงนักสำหรับ ยูนิกซ์ ในปี 2522 ระบบที่เป็นกรรมสิทธิ์ต่าง ๆ ก็ได้รับการพัฒนาบนพื้นฐานของระบบดังกล่าว รวมถึง AIX, HP-UX, IRIX, SunOS, Tru64, Ultrix และ Xenix สิ่งเหล่านี้แทนที่โคลนที่เป็นกรรมสิทธิ์ส่วนใหญ่ ความไม่เข้ากันที่เพิ่มขึ้นระหว่างระบบเหล่านี้นำไปสู่การสร้างมาตรฐานการทำงานร่วมกัน รวมถึง พอซิกส์ และ Single UNIX Specification

สิ่งทดแทนยูนิกซ์ที่ ฟรี ราคาประหยัด และไม่มีข้อจำกัดต่าง ๆ เกิดขึ้นในช่วงทศวรรษ 1980 และ 1990 รวมถึง 4.4BSD, Linux และ Minix สิ่งเหล่านี้บางส่วนเป็นพื้นฐานสำหรับระบบเสมือนยูนิกซ์เชิงพาณิชย์ เช่น BSD/OS และ macOS (Mac) OS X/macOS หลายเวอร์ชันที่ทำงานบนคอมพิวเตอร์ Mac ที่ใช้ Intel ได้รับการรับรองภายใต้ Single UNIX Specification BSD เวอร์ชันต่าง ๆ เป็นลูกหลานของยูนิกซ์ที่พัฒนาโดยมหาวิทยาลัยแคลิฟอร์เนียที่ Berkeley พร้อมรหัสต้นทางยูนิกซ์ จาก Bell Labs อย่างไรก็ตาม ฐานรหัส BSD ได้มีการพัฒนาตั้งแต่นั้นมา โดยแทนที่รหัส AT&T ทั้งหมด เนื่องจาก เบิร์กลีย์ซอฟต์แวร์ดิสทริบิวชัน เวอร์ชันต่าง ๆ ไม่ได้รับการรับรองว่าสอดคล้องกับ Single UNIX Specification จึงเรียกว่า "เสมือนยูนิกซ์" แทนที่จะเป็น "ยูนิกซ์"

## หมวดหมู่

เดนนิส ริตชี หนึ่งในทีมผู้สร้างยูนิกซ์ตัวดั้งเดิม แสดงความคิดเห็นว่าระบบเสมือนยูนิกซ์ เช่น ลินุกซ์เป็นระบบยูนิกซ์*โดยพฤตินัย* เอริก เอส. เรย์มอนด์ และ ร็อบ แลนด์ลีย์ เสนอความคิดเห็นว่ามีระบบที่เสมือนยูนิกซ์สามประเภท:

### ยูนิกซ์ทางพันธุกรรม

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

### เครื่องหมายการค้าหรือตราสินค้ายูนิกซ์

ระบบเหล่านี้ — ‌ที่มักจะมีลักษณะเชิงพาณิชย์ — กำหนดโดย Open Group เพื่อให้ตรงตาม Single UNIX Specification และได้รับอนุญาตให้ใช้ชื่อยูนิกซ์อย่างเป็นทางการ ระบบดังกล่าวส่วนใหญ่เป็นอนุพันธ์ทางการค้าของฐานรหัสจาก ยูนิกซ์ซิสเต็มไฟฟ์ ในรูปแบบใดรูปแบบหนึ่ง แม้ว่า Apple macOS 10.5 และใหม่กว่าจะเป็นตัวแปร BSD ที่ได้รับการรับรอง EulerOS และ Inspur K-UX เป็นการแจกจ่ายลินุกซ์ที่ได้รับการรับรอง และระบบอื่น ๆ บางระบบ (เช่น IBM z/OS) ได้รับเครื่องหมายการค้าผ่านชั้นความเข้ากันได้ของพอซิกส์ และไม่ใช่ระบบยูนิกซ์โดยสายเลือด ระบบยูนิกซ์โบราณหลายระบบไม่ตรงตามคำจำกัดความนี้อีกต่อไป

### ยูนิกซ์เชิงปฏิบัติ

โดยทั่วไปแล้ว ระบบเสมือนยูนิกซ์ใด ๆ ที่ทำงานในลักษณะที่สอดคล้องกับข้อกำหนดเฉพาะของ UNIX โดยประมาณ รวมถึงการมี "โปรแกรมที่จัดการการเข้าสู่ระบบและ command line sessions ของคุณ"; โดยเฉพาะอย่างยิ่ง สิ่งนี้สามารถอ้างถึงระบบ เช่น ลินุกซ์ หรือ Minix ที่ทำงานคล้ายกับระบบยูนิกซ์ แต่ไม่มีการเชื่อมต่อทางพันธุกรรมหรือเครื่องหมายการค้ากับฐานรหัสเอทีแอนด์ที การใช้งานการออกเสมือนยูนิกซ์แบบเสรีและต้นทางเปิดส่วนใหญ่ ไม่ว่าจะเป็นยูนิกซ์ทางพันธุกรรมหรือไม่ก็ตาม ตกอยู่ในคำจำกัดความที่จำกัดของหมวดหมู่ที่สามนี้ เนื่องจากต้องเสียค่าใช้จ่ายในการได้รับใบรับรอง Open Group ซึ่งมีค่าใช้จ่ายหลายพันดอลลาร์

ประมาณปี 2544 Linux ได้รับโอกาสในการได้รับการรับรอง รวมถึงความช่วยเหลือฟรีจากประธานพอซิกส์ Andrew Josey ในราคาหนึ่งดอลลาร์ (เชิงสัญลักษณ์) มีกิจกรรมบางประการที่ทำให้ลินุกซ์สอดคล้องกับพอซิกส์ โดย Josey ได้เตรียมรายการความแตกต่างระหว่างมาตรฐานพอซิกส์และข้อกำหนดฐานมาตรฐาน**ลินุกซ์** แต่ในเดือนสิงหาคม พ.ศ. 2548 โครงการนี้ถูกปิดตัวลงเนื่องจาก ขาดความสนใจในคณะทำงานฐานมาตรฐาน**ลินุกซ์**

## ชั้นความเข้ากันได้

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

* UNIX System Services ของ IBM z/OS ครบถ้วนเพียงพอที่จะได้รับการรับรองเป็นเครื่องหมายการค้ายูนิกซ์
* Cygwin, MSYS และ MSYS2 แต่ละตัวมีสภาพแวดล้อม GNU ที่ด้านบนของ API ผู้ใช้ ไมโครซอฟท์ วินโดวส์ซึ่งเพียงพอสำหรับการรวบรวมและเรียกใช้ซอฟต์แวร์ต้นทางเปิดส่วนใหญ่
* MKS Toolkit และ UWIN เป็นเครื่องมือการทำงานร่วมกันที่ครอบคลุมซึ่งช่วยให้สามารถย้ายโปรแกรมยูนิกซ์ไปยังวินโดวส์ได้
* ระบบชนิด Windows NT มี ระบบย่อยสิ่งแวดล้อม พอซิกส์
* ระบบย่อยสำหรับโปรแกรมประยุกต์ที่ใช้ยูนิกซ์ (ก่อนหน้านี้ Interix) ให้บริการฟังก์ชันการทำงานเสมือนยูนิกซ์ ในฐานะระบบย่อยของ Windows NT (เลิกพัฒนาแล้ว)
* ระบบย่อยวินโดวส์สำหรับลินุกซ์มีอินเทอร์เฟซเคอร์เนลที่เข้ากันได้กับ ลินุกซ์ ซึ่งพัฒนาโดยไมโครซอฟต์ และไม่มีโค้ดลินุกซ์ โดยมี ไบนารี โหมดผู้ใช้ของ Ubuntu ทำงานทับอยู่
	+ ระบบย่อยวินโดวส์สำหรับลินุกซ์เวอร์ชัน 2 (WSL2) มอบสภาพแวดล้อมลินุกซ์ที่ทำงานได้อย่างสมบูรณ์ซึ่งทำงานในเครื่องเสมือน

## อ้างอิง

## แหล่งข้อมูลอื่น

* นิยามคำว่าเสมือนยูนิกซ์ (unix-like) โดย The Linux Information Project (LINFO)
* ประวัติยูนิกซ์ – กราฟเส้นเวลาประวัติศาสตร์ของระบบยูนิกซ์และเสมือนยูนิกซ์ส่วนใหญ่โดย Éric Lévénez
* Grokline's UNIX Ownership History Project –  a project to map out the technical history of UNIX and Unix-like systems ที่ เวย์แบ็กแมชชีน (เก็บถาวร มิถุนายน 22, 2004)