ใจกลางลินุกซ์
ใจกลางลินุกซ์ เป็นใจกลางระบบปฏิบัติการแบบยูนิกซ์ที่เสรีและต้นทางเปิด เดิมเขียนขึ้นในปี พ.ศ. 2534 โดย ลีนุส ทอร์วัลด์ส สำหรับพีซีของเขาที่ใช้สถาปัตยกรรม i386 และในไม่ช้ามันก็ถูกนำมาใช้เป็นใจกลางสำหรับระบบปฏิบัติการกนู ซึ่งเขียนขึ้นเพื่อเป็นซอฟต์แวร์เสรีทดแทนยูนิกซ์ ใจกลางลินุกซ์ ได้รับการเผยแพร่สัญญาอนุญาต GNU General Public License เวอร์ชัน 2 เท่านั้น แต่ในตัวใจกลางก็มีไฟล์ภายใต้ ใบอนุญาตอื่นๆ ที่เข้ากันได้ ตั้งแต่ปลายทศวรรษ 1990 เป็นต้นมา ระบบปฏิบัติการดังกล่าวได้ถูกรวมไว้เป็นส่วนหนึ่งของลินุกซ์ดิสทริบิวชันจำนวนมาก ซึ่งหลายระบบเรียกสั้นๆ แค่ว่า ลินุกซ์ ลินุกซ์ถูกนำไปใช้ในระบบคอมพิวเตอร์ที่หลากหลาย เช่น อุปกรณ์ฝังตัว สมาร์ทโฟน (รวมถึงการใช้งานในระบบแอนดรอยด์) คอมพิวเตอร์ส่วนบุคคล เซิร์ฟเวอร์ เมนเฟรม และ ซูเปอร์คอมพิวเตอร์ [6] ลินุกซ์สามารถปรับแต่งให้เหมาะกับสถาปัตยกรรมเฉพาะและสำหรับสถานการณ์การใช้งานต่างๆ โดยใช้กลุ่มคำสั่งง่ายๆ (นั่นคือ ไม่จำเป็นต้องแก้ไขรหัสต้นทางด้วยตนเองก่อนทำการคอมไพล์) [7] [8] [9] ผู้ใช้ที่ได้รับสิทธิ์ผู้ดูแลระบบยังสามารถปรับแต่งพารามิเตอร์ใจกลางขณะระบบกำลังทำงานได้อีกด้วย [10] [11] [12] รหัสใจกลางลินุกซ์ส่วนใหญ่เขียนโดยใช้ภาษาซี, ส่วนขยาย GNU ของภาษาซี [13][14] และมีเพียงส่วนน้อยที่เขียนด้วยคำสั่งเฉพาะสถาปัตยกรรม (ISA) สิ่งนี้สร้างไฟล์ปฏิบัติการที่ได้รับการปรับปรุงประสิทธิภาพสูงสุด ( vmlinux ) โดยคำนึงถึงการใช้พื้นที่หน่วยความจำและเวลาดำเนินการงาน [13] : 379–380 การอภิปรายเกี่ยวกับการพัฒนาในแต่ละวันเกิดขึ้นใน บัญชีจ่าหน้าใจกลางลินุกซ์ (อังกฤษ: Linux kernel mailing list) หรือ LKML ติดตามการเปลี่ยนแปลงโดยใช้ระบบควบคุมเวอร์ชันกิต ซึ่งเดิมเขียนโดย ลีนุส ทอร์วัลด์ส เพื่อเป็นซอฟต์แวร์เสรีแทนที่ BitKeeper ความเป็นมาในเดือนเมษายน พ.ศ. 2534 ลีนึส ตูร์วัลดส์ในขณะนั้นเป็นนักศึกษาวิทยาการคอมพิวเตอร์ อายุ 21 ปีที่มหาวิทยาลัยเฮลซิงกิ ประเทศฟินแลนด์ ได้เริ่มทำงานกับแนวคิดง่ายๆ สำหรับระบบปฏิบัติการที่ได้รับแรงบันดาลใจจากยูนิกซ์ สำหรับคอมพิวเตอร์ส่วนบุคคล [15] เขาเริ่มต้นด้วยตัวสลับงานในภาษาแอสเซมบลี Intel 80386 และ ไดรเวอร์เทอร์มินัล [15] เมื่อวันที่ 25 สิงหาคม พ.ศ. 2534 Torvalds ได้โพสต์ข้อความต่อไปนี้ใน comp.os.minix ซึ่งเป็น กลุ่มข่าวสารบนยูสเน็ต[16]
เมื่อวันที่ 17 กันยายน พ.ศ. 2534 ลีนุส ทอร์วัลด์สได้เตรียม ลินุกซ์เวอร์ชัน 0.01 และวางบน "ftp.funet.fi" ซึ่งเป็นเซิร์ฟเวอร์ FTP ของมหาวิทยาลัยฟินแลนด์และเครือข่ายการวิจัย (FUNET) ณ ตอนนั้นระบบยังไม่สามารถเรียกใช้งานได้ด้วยซ้ำเนื่องจากโค้ดของมันยังคงต้องใช้ Minix เพื่อคอมไพล์และทดสอบ[17] เมื่อวันที่ 5 ตุลาคม พ.ศ. 2534 ลีนุส ทอร์วัลด์สได้ประกาศเปิดตัว ลินุกซ์เวอร์ชัน "อย่างเป็นทางการ" รุ่นแรก เวอร์ชัน 0.02 [18] ณ จุดนี้ ลินุกซ์สามารถใช้งาน แบช, ชุดแปลโปรแกรมของกนู และยูทิลิตี้ GNU อื่นๆ ได้: [18] [19]
ลินุกซ์เวอร์ชัน 0.95 เป็นรุ่นแรกที่สามารถเรียกใช้งานเอ็กซ์วินโดวซิสเต็มได้ [20] ในเดือนมีนาคม พ.ศ. 2537 ลินุกซ์ 1.0.0 เปิดตัวพร้อมรหัสต้นทาง 176,250 บรรทัด [21] เป็นเวอร์ชันแรกที่เหมาะสำหรับใช้ในสภาพแวดล้อมการผลิต[22] มันเริ่มระบบการกำหนดเวอร์ชันสำหรับใจกลางด้วยตัวเลขสามหรือสี่ตัวคั่นด้วยจุด โดยตัวแรกแสดงถึงรุ่นหลัก ตัวที่สองคือ รุ่นรอง และตัวที่สามคือรุ่นแก้ไข [23] : 9 โดยในเวลานั้นรุ่นรองที่มีเลข คี่ มีไว้สำหรับการพัฒนาและการทดสอบ ในขณะที่รุ่นรองที่มีเลข คู่ มีไว้สำหรับการผลิต ตัวเลขตัวที่สี่ที่ไม่บังคับระบุชุดของแพตช์สำหรับ การแก้ไข [24] รุ่นการพัฒนาจะระบุด้วยคำต่อท้าย -rc ("release Candidate") การกำหนดหมายเลขเวอร์ชันปัจจุบันแตกต่างจากด้านบนเล็กน้อย การใช้เลขคู่และเลขคี่ถูกยกเลิก และตอนนี้รุ่นหลัก เจะแสดงด้วยตัวเลขสองตัวแรกร่วมกัน ในขณะที่ยังอยู่ในช่วงของการพัฒนา รุ่นหลัก ถัดไป ส่วนต่อท้าย -rcก จะถูกใช้เพื่อระบุ release candidate รุ่นที่ ก สำหรับเวอร์ชันถัดไป [25] ตัวอย่างเช่น การเปิดตัวเวอร์ชัน 4.16 นำหน้าด้วย 4.16-rcN เจ็ดตัว (จาก -rc1 ถึง -rc7) เมื่อปล่อยเวอร์ชันเสถียรแล้ว การบำรุงรักษาจะส่งต่อไปยัง "ทีมเสถียร" การอัปเดตเป็นครั้งคราวสำหรับเวอร์ชันเสถียรจะถูกระบุด้วยรูปแบบการลำดับเลขสามตัว (เช่น 4.13.1, 4.13.2, ..., 4.13.16) [25] หลังจากใจกลางเวอร์ชัน 1.3 ทอร์วัลด์สตัดสินใจว่าลินุกซ์มีการพัฒนาเพียงพอที่จะคู่ควรต่อเลข รุ่นหลัก ใหม่ ดังนั้นเขาจึงออกเวอร์ชัน 2.0.0 ในเดือนมิถุนายน พ.ศ. 2539 [26] [27] ซีรีส์นี้มีการปล่อย 41 ครั้ง คุณสมบัติหลักของรุ่น 2.0 คือการรองรับ Symmetric Multiprocessing (SMP) และรองรับโปรเซสเซอร์ประเภทต่างๆ มากขึ้น ตั้งแต่เวอร์ชัน 2.0 เป็นต้นไป ลินุกซ์สามารถกำหนดค่าได้สำหรับการเลือกเป้าหมายฮาร์ดแวร์เฉพาะ และสำหรับการเปิดใช้งานคุณสมบัติเฉพาะทางสถาปัตยกรรมและการเพิ่มประสิทธิภาพ [28] คำสั่งตระกูล make *config ของ kbuild ใช้เพื่อเปิดใช้งานและกำหนดค่าของตัวเลือกหลายพันรายการสำหรับการสร้างไฟล์ปฏิบัติการใจกลางเฉพาะกิจ (vmlinux) และโมดูลที่โหลดได้ [29] [30] เวอร์ชัน 2.2 เปิดตัวเมื่อวันที่ 20 มกราคม พ.ศ. 2542 [31] ปรับปรุงรายละเอียดการล็อคและการจัดการ SMP เพิ่ม m68k, PowerPC, Sparc64, Alpha และการสนับสนุนแพลตฟอร์ม 64 บิตอื่น ๆ [32] นอกจากนี้ยังเพิ่มระบบไฟล์ใหม่ๆ รวมถึงความสามารถแบบอ่านอย่างเดียวของระบบ NTFS ของไมโครซอฟต์ [32] ในปี พ.ศ. 2542 IBM เผยแพร่แพทช์สำหรับรหัสต้นทางของลินุกซ์ 2.2.13 เพื่อรองรับสถาปัตยกรรม S/390 [33] เวอร์ชัน 2.4.0 ได้รับการปล่อยเมื่อวันที่ 4 มกราคม พ.ศ. 2544 [34] มันรองรับ ISA Plug and Play, USB และ การ์ดพีซี รุ่น 2.4 ยังเพิ่มการรองรับสำหรับ Pentium 4 และ Itanium (Itanium ยังได้เปิดตัว ia64 ISA ที่ได้รับการพัฒนาร่วมกันโดย Intel และ Hewlett-Packard เพื่อแทนที่ PA-RISC รุ่นเก่า) และสำหรับโปรเซสเซอร์ MIPS 64 บิต รุ่นใหม่ [35] การพัฒนาสำหรับ 2.4 x เปลี่ยนแปลงเล็กน้อยเนื่องจากมีฟีเจอร์เพิ่มเติมให้ใช้งานตลอดระยะเวลาของซีรีส์นี้ รวมถึงการสนับสนุน Bluetooth, Logical Volume Manager (LVM) เวอร์ชัน 1, รองรับ RAID, InterMezzo และระบบไฟล์ ext3 รุ่น 2.6.0 เปิดตัวเมื่อวันที่ 17 ธันวาคม พ.ศ. 2546 [36] การพัฒนาสำหรับ 2.6.x เปลี่ยนแปลงเพิ่มเติมไปสู่การรวมคุณสมบัติใหม่ตลอดระยะเวลาของซีรีส์ การเปลี่ยนแปลงที่เกิดขึ้นในซีรีย์ 2.6 ได้แก่: การรวม µClinux เข้ากับรหัสต้นทางของใจกลางโดยตรง, การรองรับ PAE, การรองรับหน่วยประมวลผลกลางใหม่หลายรุ่น, การรวม Advanced Linux Sound Architecture (ALSA) เข้ากับรหัสต้นทางของใจกลางโดยตรง, การรองรับ ผู้ใช้สูงสุด 232 ราย (เพิ่มจาก 216 ราย ) รองรับ ID กระบวนการสูงสุด 229 ราย (เฉพาะ 64 บิต สถาปัตยกรรม 32 บิตยังคงจำกัดอยู่ที่ 215 ราย) [37] เพิ่มจำนวนประเภทอุปกรณ์และจำนวนอย่างมาก ของอุปกรณ์แต่ละประเภท การสนับสนุน 64 บิตที่ได้รับการปรับปรุง รองรับ ระบบไฟล์ที่รองรับขนาดไฟล์สูงสุด 16 เทราไบต์ การจองล่วงหน้า ในใจกลาง การรองรับ Native POSIX Thread Library (NPTL) การรวมโหมดผู้ใช้ลินุกซ์เข้ากับรหัสต้นทางของใจกลางโดยตรง การรวม SELinux เข้ากับรหัสต้นทางของใจกลางโดยตรง, การรองรับ InfiniBand และอื่นๆ อีกมากมาย สิ่งที่น่าสังเกตอีกอย่างคือการเพิ่มระบบไฟล์ที่มีให้เลือกมากมายตั้งแต่เวอร์ชัน 2.6 x : ตอนนี้ใจกลางรองรับระบบไฟล์จำนวนมาก บางตัวได้รับการออกแบบมาสำหรับลินุกซ์โดยเฉพาะ เช่น ext3, ext4, FUSE, Btrfs, [38] และอื่น ๆ ที่เป็นระบบปฏิบัติการอื่นเช่น JFS, XFS, Minix, Xenix, Irix, Solaris, System V, Windows และ MS-DOS [39] ทางกฎหมายสัญญาอนุญาตเดิมทีนั้นลีนุส ทอร์วัลด์สเผยแพร่ลินุกซ์ภายใต้สัญญาอนุญาตที่ห้ามการใช้งานเชิงพาณิชย์[40] ดูเพิ่มอ้างอิง
แหล่งข้อมูลอื่น |