ความเป็นมา ของ ใจกลางลินุกซ์

ลีนุส ทอร์วัลด์ส ในงาน LinuxCon Europe 2014 ที่เมืองดึสเซิลดอร์ฟ

ในเดือนเมษายน พ.ศ. 2534 ลีนึส ตูร์วัลดส์ในขณะนั้นเป็นนักศึกษาวิทยาการคอมพิวเตอร์ อายุ 21 ปีที่มหาวิทยาลัยเฮลซิงกิ ประเทศฟินแลนด์ ได้เริ่มทำงานกับแนวคิดง่ายๆ สำหรับระบบปฏิบัติการที่ได้รับแรงบันดาลใจจากยูนิกซ์ สำหรับคอมพิวเตอร์ส่วนบุคคล [15] เขาเริ่มต้นด้วยตัวสลับงานในภาษาแอสเซมบลี Intel 80386 และ ไดรเวอร์เทอร์มินัล [15] เมื่อวันที่ 25 สิงหาคม พ.ศ. 2534 Torvalds ได้โพสต์ข้อความต่อไปนี้ใน comp.os.minix ซึ่งเป็น กลุ่มข่าวสารบนยูสเน็ต[16]

ข้าพเจ้ากำลังสร้างระบบปฏิบัติการเสรี (เป็นเพียงงานอดิเรก ไม่อลังการและเป็นมืออาชีพแบบกนูหรอก) สำหรับตัวโคลนของ 386(486) AT ข้าพเจ้าได้เริ่มสร้างมาตั้งแต่เดือนเมษายนแล้ว และเริ่มเตรียมพร้อม ข้าพเจ้าต้องการข้อเสนอแนะเกี่ยวกับสิ่งที่ผู้คนชอบ/ไม่ชอบใน minix เนื่องจากระบบปฏิบัติการของข้าพเจ้ามีลักษณะคล้ายคลึงมันอยู่พอสมควร (รูปแบบทางกายภาพของระบบไฟล์ที่เหมือนกัน (เนื่องจากเหตุผลในทางปฏิบัติ) และเหตุผลอื่นๆ)
ขณะนี้ข้าพเจ้าได้พอร์ตแบช(1.08) และชุดแปลโปรแกรมของกนู(1.40) และสิ่งต่าง ๆ ดูเหมือนจะได้ผล นี่หมายความว่าข้าพเจ้าจะได้สิ่งที่ใช้งานได้จริงภายในไม่กี่เดือน [...]
ใช่ - ระบบนี้ไม่มีโค้ด minix ใด ๆ และมีระบบไฟล์แบบมัลติเธรด มันไม่สามารถพอร์ตได้ (ใช้การสลับงานแบบ 386 ฯลฯ) และอาจจะไม่รองรับสิ่งอื่นใดนอกจาก AT-harddisks เพราะนั่นคือทั้งหมดที่ข้าพเจ้ามี :-(

เมื่อวันที่ 17 กันยายน พ.ศ. 2534 ลีนุส ทอร์วัลด์สได้เตรียม ลินุกซ์เวอร์ชัน 0.01 และวางบน "ftp.funet.fi" ซึ่งเป็นเซิร์ฟเวอร์ FTP ของมหาวิทยาลัยฟินแลนด์และเครือข่ายการวิจัย (FUNET) ณ ตอนนั้นระบบยังไม่สามารถเรียกใช้งานได้ด้วยซ้ำเนื่องจากโค้ดของมันยังคงต้องใช้ Minix เพื่อคอมไพล์และทดสอบ[17]เมื่อวันที่ 5 ตุลาคม พ.ศ. 2534 ลีนุส ทอร์วัลด์สได้ประกาศเปิดตัว ลินุกซ์เวอร์ชัน "อย่างเป็นทางการ" รุ่นแรก เวอร์ชัน 0.02 [18] ณ จุดนี้ ลินุกซ์สามารถใช้งาน แบช, ชุดแปลโปรแกรมของกนู และยูทิลิตี้ GNU อื่นๆ ได้: [18] [19]

[ดังที่] ข้าพเจ้าได้กล่าวไว้เมื่อเดือนที่แล้วว่าข้าพเจ้ากำลังสร้างสิ่งที่คล้าย Minix แบบเสรีสำหรับคอมพิวเตอร์ AT-386 ในที่สุดก็มาถึงขั้นที่สามารถใช้งานได้แล้ว (แต่คุณอาจจะใช้มันไม่ได้ก็ได้ ขึ้นอยู่กับว่าคุณต้องการอะไร) และข้าพเจ้ายินดีที่จะหาแหล่งสำหรับการเผยแพร่ในวงกว้าง มันเป็นเพียงเวอร์ชัน 0.02 ... แต่ข้าพเจ้าเรียกใช้แบช, ชุดแปลโปรแกรมของกนู, gnu-make, gnu-sed, compress ฯลฯ ได้สำเร็จแล้ว

ลินุกซ์เวอร์ชัน 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]

แหล่งที่มา

WikiPedia: ใจกลางลินุกซ์ http://www.kernel.org/ https://www.kernel.org/ https://web.archive.org/web/20100815085106/http://... http://www.linux.org/info/logos.html https://archive.today/20130113003817/http://git.ke... https://git.kernel.org/?p=linux/kernel/git/stable/... https://www.wikidata.org/wiki/Q14579?uselang=th#P3... https://www.top500.org/statistics/details/osfam/1 https://web.archive.org/web/20121119205719/https:/... https://www.kernel.org/doc/html/latest/kbuild/inde...