ใจกลางลินุกซ์ เป็นใจกลางระบบปฏิบัติการแบบยูนิกซ์ที่เสรีและต้นทางเปิด เดิมเขียนขึ้นในปี พ.ศ. 2534 โดย ลีนุส ทอร์วัลด์ส สำหรับพีซีของเขาที่ใช้สถาปัตยกรรม i386 และในไม่ช้ามันก็ถูกนำมาใช้เป็นใจกลางสำหรับระบบปฏิบัติการกนู ซึ่งเขียนขึ้นเพื่อเป็นซอฟต์แวร์เสรีทดแทนยูนิกซ์

ข้อมูลเบื้องต้น ผู้พัฒนา, เขียนด้วย ...
ใจกลางลินุกซ์
Tux
เพนกวินทักซ์ มาสคอตของลินุกซ์[1]
ใจกลางลินุกซ์รุ่น 3.0.0 กำลังบูต
ผู้พัฒนาลินุส โตร์วัลดส์ กับผู้ร่วมมือกว่าพันคน
เขียนด้วยภาษาซี, ภาษาแอสเซมบลี, ภาษารัสต์ Edit this on Wikidata
ตระกูลระบบปฏิบัติการแบบยูนิกซ์
วันที่เปิดตัว0.01 (17 กันยายน 1991; 33 ปีก่อน (1991-09-17))
รุ่นเสถียร6.11.6[2] แก้ไขบนวิกิสนเทศ / 1 พฤศจิกายน 2024
รุ่นทดลอง6.12-rc6[3] แก้ไขบนวิกิสนเทศ / 4 พฤศจิกายน 2024
ภาษาสื่อสารอังกฤษ
สัญญาอนุญาตสัญญาอนุญาตสาธารณะทั่วไปของกนูร่วมกับbinary blobs[4][5]
เว็บไซต์www.kernel.org
ปิด
ใจกลางลินุกซ์ในปัจจุบันนั้น รองรับสถาปัตยกรรมฮาร์ดแวร์หลากหลายรูปแบบ และรองรับซอฟต์แวร์ต่างๆ จำนวนมาก รวมไปถึงซอฟต์แวร์ที่เป็นกรรมสิทธิ์

ใจกลางลินุกซ์ ได้รับการเผยแพร่สัญญาอนุญาต 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

ความเป็นมา

Thumb
ลีนุส ทอร์วัลด์ส ในงาน 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]

ทางกฎหมาย

สัญญาอนุญาต

เดิมทีนั้นลีนุส ทอร์วัลด์สเผยแพร่ลินุกซ์ภายใต้สัญญาอนุญาตที่ห้ามการใช้งานเชิงพาณิชย์[40]

ดูเพิ่ม

อ้างอิง

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

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.