การพัฒนา 25 ปีของเคอร์เนล Linux สามารถผ่านการรับรองหรือสรุปในแง่ของคนธรรมดาได้หรือไม่? [ปิด]


12

ลินุกซ์เคอร์เนลเก่าเกือบ 25 ปีที่ผ่านมา ถ้าฉันต้องมากับเวอร์ชั่นสั้น ๆ เกี่ยวกับประวัติการพัฒนาของเคอร์เนลลินุกซ์ตั้งแต่ปี 1991 (วันที่เริ่ม) และในระดับตั้งแต่ปี 1994 (1.0.0) จนถึงวันนี้ฉันไม่สามารถทำได้ สิ่งที่ดีที่สุดที่ฉันสามารถทำได้เพียงอ่านทุกครั้งที่รีลีสเคอร์เนลรีลีสคือการให้ฟีเจอร์ต่อไปนี้ซึ่งเป็นฟีเจอร์รีลีสทั่วไปที่เพิ่มเข้าไปในเคอร์เนลจนถึงเวอร์ชัน 3.11 (บันทึกและลิงก์ที่ละเว้น):

  • เคอร์เนล Linux เวอร์ชัน 1.0เปิดตัวเมื่อวันที่ 14 มีนาคม 2537 เคอร์เนล Linux รุ่นนี้รองรับระบบคอมพิวเตอร์ที่ใช้โปรเซสเซอร์ i386 ตัวเดียวเท่านั้น การพกพากลายเป็นปัญหาและ รุ่น 1.2 (วางจำหน่าย 7 มีนาคม 2538) ได้รับการสนับสนุนสำหรับระบบคอมพิวเตอร์ที่ใช้โปรเซสเซอร์โดยใช้สถาปัตยกรรมแบบ Alpha, SPARC และ MIPS
  • รุ่น 2.0ได้รับการปล่อยตัว 9 มิถุนายน 2539 มี 41 เผยแพร่ในซีรีส์ คุณสมบัติที่สำคัญของ 2.0 คือการสนับสนุน SMP (กล่าวคือรองรับโปรเซสเซอร์หลายตัวในระบบเดียว) และรองรับโปรเซสเซอร์ประเภทอื่น ๆ
  • เวอร์ชัน 2.2 (เผยแพร่เมื่อวันที่ 26 มกราคม 1999) ลบ spinlock ทั่วโลกและให้การสนับสนุน SMP ที่ปรับปรุงและเพิ่มการสนับสนุนสำหรับสถาปัตยกรรม m68k และ PowerPC รวมถึงระบบไฟล์ใหม่ (รวมถึงการสนับสนุนแบบอ่านอย่างเดียวสำหรับ Microsoft NTFS)
  • เวอร์ชั่น 2.4.0 วางจำหน่ายเมื่อวันที่ 4 มกราคม 2544 มีการรองรับ ISA Plug and Play, USB และการ์ดพีซี นอกจากนี้ยังรวมถึงการสนับสนุนโปรเซสเซอร์ PA-RISC จาก Hewlett-Packard การพัฒนา 2.4.x เปลี่ยนไปเล็กน้อยซึ่งฟีเจอร์เพิ่มเติมนั้นมีให้ใช้งานตลอดระยะเวลาของซีรีย์ ได้แก่ : รองรับบลูทู ธ , Logical Volume Manager (LVM) เวอร์ชั่น 1, การสนับสนุน RAID, ระบบไฟล์ InterMezzo และ ext3
  • เวอร์ชัน 2.6.0เปิดตัวเมื่อวันที่ 18 ธันวาคม พ.ศ. 2546 การพัฒนา 2.6.x มีการเปลี่ยนแปลงเพิ่มเติมเพื่อรวมคุณสมบัติใหม่ ๆ ตลอดระยะเวลาของซีรีย์ ท่ามกลางการเปลี่ยนแปลงที่เกิดขึ้นในซีรีส์ 2.6 ได้แก่ การรวมของ µClinux เข้ากับเคอร์เนล mainline source, การสนับสนุน PAE, การสนับสนุน CPU ใหม่หลายบรรทัด, การรวม ALSA เข้ากับเคอร์เนล mainline ที่รองรับผู้ใช้สูงสุด 2 32คน ( เพิ่มขึ้นจาก 2 16 ) รองรับID กระบวนการมากถึง 2 29 (64- บิตเท่านั้นส่วนโค้ง 32- บิตยังคง จำกัด อยู่ที่ 2 15) เพิ่มจำนวนของประเภทอุปกรณ์และจำนวนอุปกรณ์ของแต่ละประเภทเพิ่มขึ้นรองรับ 64- บิตที่ดีขึ้นรองรับระบบไฟล์ที่รองรับขนาดไฟล์สูงสุด 16 เทราไบต์, การจองในเคอร์เนล, รองรับไลบรารีเธรด POSIX แบบเนทีฟ (NPTL), การรวม Linux ในโหมดผู้ใช้ในแหล่งเคอร์เนล mainline, การรวม SELinux เข้ากับแหล่งเคอร์เนล mainline, การสนับสนุน InfiniBand และอื่น ๆ อีกมาก สิ่งที่น่าสังเกตอีกอย่างก็คือการเพิ่มระบบไฟล์หลาย ๆ ระบบในเวอร์ชัน 2.6.x: FUSE, JFS, XFS, ext4 และอื่น ๆ รายละเอียดเกี่ยวกับประวัติของชุดเคอร์เนล 2.6 สามารถพบได้ในไฟล์ ChangeLog บนพื้นที่ปล่อยซอร์สโค้ดชุดเคอร์เนล 2.6 ของ kernel.org
  • เวอร์ชัน 3.0เปิดตัวเมื่อวันที่ 22 กรกฎาคม 2011 Torvalds ประกาศว่าการเปลี่ยนแปลงครั้งใหญ่คือ "ไม่มีอะไรไม่มีอะไรแน่นอนเลย" 30 พฤษภาคม 2554 เห็น Torvalds ประกาศว่า "... ขอให้แน่ใจว่าเราจะเปิดตัวรุ่นต่อไปอย่างแท้จริงไม่ใช่แค่หมายเลขเงาใหม่ แต่เป็นเคอร์เนลที่ดีเช่นกัน" หลังจากกระบวนการพัฒนา 6-7 สัปดาห์คาดว่าจะเปิดตัวใกล้ครบรอบ 20 ปีของ Linux
  • ในเดือนธันวาคม 2012 Torvalds ตัดสินใจลดความซับซ้อนของเคอร์เนลโดยยกเลิกการสนับสนุนโปรเซสเซอร์ i386 ทำให้ชุดเคอร์เนล 3.7 เป็นชุด สุดท้ายที่ยังคงสนับสนุนโปรเซสเซอร์ดั้งเดิม ซีรี่ส์เดียวกันนี้รองรับการใช้งานโปรเซสเซอร์ ARM
  • เวอร์ชัน 3.11เผยแพร่เมื่อวันที่ 2 กันยายน 2556 เพิ่มคุณสมบัติใหม่มากมายเช่น O_TMPFILE flag ใหม่สำหรับ open (2) เพื่อลดช่องโหว่ของไฟล์ชั่วคราวการจัดการพลังงานไดนามิก AMD Radeon แบบไดนามิกการสำรวจเครือข่าย low-latency และ zswap (แคช swap ที่บีบอัด)

ฉันยังสามารถเพิ่มสิ่งนั้นเป็นเวลาหลายปีในขณะนี้มูลนิธิ Linuxได้รับรายงานเกี่ยวกับการพัฒนาเคอร์เนล นี่คือจุดเด่นการพัฒนาเคอร์เนล 2012-2013:

  • ชุดการเปลี่ยนแปลงเกือบ 92,000 ชุดได้รับการรวมเข้าด้วยกันจากนักพัฒนารายย่อย 3,738 รายซึ่งเป็นตัวแทนของ บริษัท 536 แห่ง (ที่เรารู้จัก)
  • คุณสมบัติใหม่ที่สำคัญมากมายได้ถูกรวมเข้ากับการฉีด สิ่งเหล่านี้รวมถึงการดำเนินการที่ไม่มีขีด จำกัด อย่างสมบูรณ์, เนมสเปซผู้ใช้, การจำลองเสมือนของ KVM และ Xen สำหรับ ARM, การติดตามโหลดเอนทิตีในตัวกำหนดตารางเวลา, จุดตรวจสอบ / รีสตาร์ทพื้นที่ผู้ใช้, การสนับสนุนสถาปัตยกรรม ARM 64 บิต, ระบบไฟล์แฟลช ที่ปัญหาเวลาแฝงและบัฟเฟอร์, ระบบย่อยอิสระสองระบบที่ให้การแคชอย่างรวดเร็วสำหรับอุปกรณ์จัดเก็บข้อมูลแบบบล็อกและอีกมากมาย
  • การทะเลาะกันอย่างยาวนานกับคุณสมบัติเคอร์เนลเฉพาะของ Android นั้นได้จางหายไปอย่างสิ้นเชิงในพื้นหลัง ฟีเจอร์ "wakelocks" ที่ถูกกล่าวถึงมากได้ถูกแทนที่อย่างเงียบ ๆ ด้วยวิธีการฉีดที่แตกต่างกันซึ่งใช้ในอุปกรณ์ Android รุ่นล่าสุด
  • การใช้เครื่องมืออัตโนมัติเพื่อค้นหาข้อบกพร่องในเมล็ดพัฒนาได้เพิ่มขึ้นอย่างมากในช่วงเวลานี้ เครื่องมือเช่นเครื่องทดสอบฟัซซี่ "ทรินิตี้" และระบบ build-and-boot แบบ zero-day กำลังค้นหาข้อบกพร่องจำนวนมากในเมล็ดก่อนปล่อยทำให้วงจรการพัฒนาสั้นลงและทำให้ชุมชนสามารถเผยแพร่คุณภาพสูงขึ้น
  • การมีส่วนร่วมจากอุตสาหกรรมมือถือและอุตสาหกรรมฝังตัวเพิ่มขึ้นอย่างต่อเนื่อง ยกตัวอย่างเช่น Linaro, Samsung และ TI รวม 4.4% ของการเปลี่ยนแปลงในรุ่นก่อนหน้าของเอกสารนี้; สำหรับช่วงเวลาสูงสุด 3.10 พวกเขามีส่วนร่วมเกือบ 11% ของการเปลี่ยนแปลงทั้งหมด
  • โครงการเคอร์เนลเข้าร่วมในโครงการบริการวิชาการสำหรับผู้หญิงเป็นครั้งแรกซึ่งนำไปสู่ ​​41 แอปพลิเคชันสำหรับตำแหน่งที่มีอยู่ 7 ตำแหน่ง ในระหว่างกระบวนการแอปพลิเคชันมีการส่งแพตช์ 374 ครั้งไปยังเคอร์เนลและมากกว่า 1/3 ของแพตช์เหล่านั้นได้รับการยอมรับในการปล่อยเคอร์เนล 3.10 ขณะนี้กระบวนการฝึกงานอยู่ในระหว่างดำเนินการ แต่ผลลัพธ์ของสิ่งนั้นจะไม่เริ่มปรากฏขึ้นจนกว่าเคอร์เนลจะมีการเปิดตัวในอนาคต

นอกจากนี้ปริมาณสิ่งที่เกิดขึ้นกับเคอร์เนลไม่ได้เป็นเรื่องยากมากที่เรามีตัวชี้วัดที่เกินกระทำของแต่ละบุคคล ตัวอย่างเช่นเรารู้ว่า 1.0.0 เคอร์เนลในปี 1994 มีรหัส 176 250 บรรทัด และเรารู้ว่าเคอร์เนลร่วมสมัยเช่น 3.10 มีโค้ดขนาด 15 803 499 บรรทัด มากขึ้น ความถี่ในการปล่อยเคอร์เนลเพิ่มขึ้น (63 วันสำหรับ 3.10) เช่นเดียวกับอัตราการเปลี่ยนแปลง (9 คอมมิตต่อชั่วโมงหรือมากกว่าที่เราพูด) เพื่ออ้างอิง Linux Foundation:

ความสามารถในการรักษาอัตราการเปลี่ยนแปลงนี้สำหรับปีเป็นประวัติการณ์ในโครงการซอฟต์แวร์สาธารณะใด ๆ ก่อนหน้านี้

แต่ทั้งหมดนี้ทำให้ฉันมีความเข้าใจลึกซึ้งเล็กน้อย ดังนั้นฉันจะถาม:

  1. ไตรมาสวิวัฒนาการของศตวรรษนี้สามารถสรุปได้อย่างชัดเจน นอกเหนือจากการเพิ่มคุณสมบัติเชิงเส้นของคุณสมบัติทั้งหมดที่รวมอยู่ในเคอร์เนลนี้เมื่อเวลาผ่านไปหรือไม่?
  2. และสิ่งนี้นำข้อมูลเชิงลึกเกี่ยวกับสิ่งที่เคอร์เนลลินุกซ์หรือสิ่งที่จะไป? หลังจาก 25 ปีของการพัฒนาข้อสรุปบางอย่างสามารถวาดเกี่ยวกับที่?

กำลังมองหาคำตอบที่เป็นนามธรรมในเงื่อนไขของคนธรรมดาที่บอกว่ามันทั้งหมดโดยไม่ต้องหันไปพูดทุกอย่าง


"รองรับรหัสกระบวนการได้ถึง 229 รายการ"ชนิดของการกระโดดออกมาที่ฉันดังนั้นฉัน googled นี้และการอ้างอิงเท่านั้นดูเหมือนว่าแหล่งต้นฉบับของวรรคนั้น ฉันคิดว่ารหัสกระบวนการมีช่วง 16 บิต (เซ็นชื่อ) คือ ~ 16,000 แต่จริงๆแล้วอาจมากกว่านี้ แน่นอนมันไม่กี่ร้อย
goldilocks

3
คำถามนี้กว้างเกินไปเนื่องจากกำลังมองหาบทความ Wikipedia ในหัวข้อ
Gilles 'หยุดความชั่วร้าย'

คุณตั้งใจจะเขียนบทความที่นี่หรือไม่? ไม่เป็นไร แต่มันจะช่วยแนะนำได้อย่างชาญฉลาดหากคุณมีความเฉพาะเจาะจงเกี่ยวกับสิ่งที่คุณพยายามทำ ฉันคิดว่ามันไม่เพียง แต่จะมีการสรุปที่ดีพร้อมสำหรับตอนเย็นของคุณต่อไปที่หลุมรดน้ำในท้องถิ่น)
goldilocks

1
ฉันจำได้ว่ามีคนอย่างน้อยสองสามคนวางแผนเขียนวิทยานิพนธ์เรื่องนี้หรือคล้ายกัน ฉันสงสัยว่าคุณจะพบวรรณกรรมทางวิชาการในเรื่องนี้ ... นอกจากการชี้ไปที่สิ่งพิมพ์ที่มีอยู่ดูเหมือนว่าคำถามของคุณจะต้องตอบคำถามเป็นเวลาหลายเดือน
Derobert

ในคำถามของคุณคุณอาจต้องบอกเราเกี่ยวกับข้อกำหนดของฆราวาสเพื่อรับคำตอบที่ดีที่นี่ นอกเหนือจากนั้นโพสต์สิ่งนี้ลงใน lkml และรับคำติชมเกี่ยวกับเหตุการณ์ของคุณ หากคุณพลาดสิ่งสำคัญพวกเขาจะทำให้คุณรู้
Bananguin

คำตอบ:


11

คุณถาม:

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

ฉันสงสัยว่าคำถามเหล่านี้มีคำตอบที่ชัดเจน อย่างไรก็ตามฉันคิดว่ามันไม่ยากที่จะเข้าใจแรงที่ผลักดันการพัฒนาเคอร์เนลของ Linux

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

ครั้งหนึ่งในยุค 80 และ 90 ระบบปฏิบัติการที่เป็นกรรมสิทธิ์เริ่มขึ้น นี่คือความรู้สึกบางอย่างในสภาวะที่ผิดธรรมชาติ Windows ของ Microsoft นั้นมีความโดดเด่นเป็นพิเศษและในแง่หนึ่งก็ยังคงเป็นเช่นนั้น แต่มันก็ยังคงรักษาตำแหน่งของมันเอาไว้โดยใช้เอฟเฟกต์เครือข่าย

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

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

ดังนั้นฉันคิดว่าเนื่องจาก บริษัท ส่วนใหญ่ไม่อยู่ในฐานะที่จะเป็น Microsoft และอาจไม่ต้องการตัดสินใจที่จะสนับสนุนระบบปฏิบัติการ "สินค้า" อีกครั้งที่สนามเด็กเล่นในระดับ ดังนั้นทุกคนสามารถใช้ระบบปฏิบัติการนี้เพื่อจุดประสงค์ใดก็ได้และไม่มีใครในกลุ่มที่ได้เปรียบเทียบกับคนอื่น อีกวิธีหนึ่งในการดูว่าการมีบางอย่างเป็นพื้นฐานเป็นระบบปฏิบัติการที่เป็นกรรมสิทธิ์นั้นเป็นการรบกวนอย่างรุนแรงกับหลักการตลาดเสรี ใน บริษัท ทั่วไปไม่ได้เป็นที่นิยมในตลาดเสรีหากพวกเขาสามารถชนะได้ แต่ถ้าพวกเขาทำไม่ได้พวกเขาก็เป็นเช่นนั้น

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

แน่นอนว่าเราไม่ควรลดความต้องการของชุมชนที่เรียกว่าชุมชนซอฟต์แวร์เสรีหรือบางครั้ง FOSS (ซอฟต์แวร์ฟรีและโอเพนซอร์ซ) เพื่อให้มีระบบปฏิบัติการฟรีสำหรับคนธรรมดาที่ใช้งานซึ่งไม่ได้ควบคุมโดย บริษัท ท้ายที่สุดแล้วโครงการอย่าง Debian และ Fedora นั้นดำเนินการโดยอาสาสมัครที่เชื่อในคุณค่าเหล่านี้ อย่างไรก็ตามฉันคิดว่าส่วนที่เล่นโดย บริษัท ไม่ควรถูกประเมินต่ำเกินไป


1
+1 สำหรับยกประเด็นของกองกำลังทางสังคม - การเมืองซึ่งทำให้ Linux ผสมกับ GNU ซึ่งทำให้สับสนในกระแสหลัก ฉันคิดว่านั่นเป็นลักษณะที่สำคัญมากของต้นกำเนิดซึ่งแม้ว่ามันอาจดูเหมือนว่า "ปัญหาที่ไม่ใช่ด้านเทคนิค" แต่จริงๆแล้วเป็นลักษณะที่กำหนดของมือในการพัฒนาระบบปฏิบัติการ - ดูโดยเฉพาะงานเขียนของEric S. Raymond - และเป็นส่วนสำคัญของการยอมรับโดยผู้ผลิตฮาร์ดแวร์ที่หลากหลายและเป็นแพลตฟอร์มที่โดดเด่นในอดีตของอินเทอร์เน็ต
goldilocks

^ หมายเหตุผู้คนจำนวนมากมีเคอร์เนล linux ในบ้านของพวกเขาและไม่รู้ด้วยซ้ำเพราะเหตุนี้ (เราเตอร์ของคุณกล่องบันทึกภาพ ฯลฯ )
goldilocks

ฉันขอชมเชยคำตอบของคุณในการตั้งเคอร์เนลให้ทันเวลาและดึงดูดความสนใจจากพลวัตที่เกิดขึ้น - วิวัฒนาการของการคำนวณ อุทธรณ์ทางธุรกิจ กลไกตลาด อินเตอร์เนต; เสรีภาพในการคำนวณ การออกใบอนุญาต; และสิ่งที่กล่าวมาทั้งหมดมีผลกระทบต่อการนำไปใช้งานในเคอร์เนลโดยมีมุมมองเกี่ยวกับ Linux โดยรวม ฉันต้องอ่านแถลงการณ์ของคุณเกี่ยวกับ "สถานการณ์ผิดธรรมชาติ" ที่เราอาจขาดมุมมองทางประวัติศาสตร์เพื่อประเมินสิ่งนี้ - และนี่เป็นสิ่งสำคัญ แม้ว่าฉันจะมุ่งเน้นไปที่เคอร์เนลต่อ se ฉันจะคิดถึงจุดและความคิดเห็นของคุณด้านบน ขอบคุณ!

1
@goldilocks: ไม่ต้องพูดถึงโทรศัพท์ Android ของคุณ
slebetman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.