ใจกลางลินุกซ์ เป็นใจกลางระบบปฏิบัติการแบบยูนิกซ์ที่เสรีและต้นทางเปิด เดิมเขียนขึ้นในปี พ.ศ. 2534 โดย ลีนุส ทอร์วัลด์ส สำหรับพีซีของเขาที่ใช้สถาปัตยกรรม i386 และในไม่ช้ามันก็ถูกนำมาใช้เป็นใจกลางสำหรับระบบปฏิบัติการกนู ซึ่งเขียนขึ้นเพื่อเป็นซอฟต์แวร์เสรีทดแทนยูนิกซ์
บทความนี้อาจต้องการตรวจสอบต้นฉบับ ในด้านไวยากรณ์ รูปแบบการเขียน การเรียบเรียง คุณภาพ หรือการสะกด คุณสามารถช่วยพัฒนาบทความได้ |
ใจกลางลินุกซ์รุ่น 3.0.0 กำลังบูต | |
ผู้พัฒนา | ลินุส โตร์วัลดส์ กับผู้ร่วมมือกว่าพันคน |
---|---|
เขียนด้วย | ภาษาซี, ภาษาแอสเซมบลี, ภาษารัสต์ |
ตระกูล | ระบบปฏิบัติการแบบยูนิกซ์ |
วันที่เปิดตัว | 0.01 (17 กันยายน 1991 ) |
รุ่นเสถียร | 6.11.6[2] / 1 พฤศจิกายน 2024 |
รุ่นทดลอง | 6.12-rc6[3] / 4 พฤศจิกายน 2024 |
ภาษาสื่อสาร | อังกฤษ |
สัญญาอนุญาต | สัญญาอนุญาตสาธารณะทั่วไปของกนูร่วมกับbinary blobs[4][5] |
เว็บไซต์ | www |
ใจกลางลินุกซ์ ได้รับการเผยแพร่สัญญาอนุญาต 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]
ข้าพเจ้ากำลังสร้างระบบปฏิบัติการเสรี (เป็นเพียงงานอดิเรก ไม่อลังการและเป็นมืออาชีพแบบกนูหรอก) สำหรับตัวโคลนของ 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.