เคอร์เนลเป็นระดับต่ำสุดของซอฟต์แวร์ที่ถอดเปลี่ยนได้ง่ายซึ่งเชื่อมต่อกับฮาร์ดแวร์ในคอมพิวเตอร์ของคุณ รับผิดชอบการเชื่อมต่อแอปพลิเคชันทั้งหมดของคุณที่ทำงานใน“ โหมดผู้ใช้” ลงไปที่ฮาร์ดแวร์ทางกายภาพและอนุญาตให้กระบวนการที่เรียกว่าเซิร์ฟเวอร์เพื่อรับข้อมูลจากกันและกันโดยใช้การสื่อสารระหว่างกระบวนการ (IPC). Show ชนิดต่าง ๆ ของเมล็ดแน่นอนว่ามีวิธีการต่าง ๆ ในการสร้างเคอร์เนลและข้อควรพิจารณาทางสถาปัตยกรรมเมื่อสร้างหนึ่งจากศูนย์ โดยทั่วไปเมล็ดส่วนใหญ่ตกอยู่ในหนึ่งในสามประเภท: เสาหิน, microkernel และลูกผสม Linux เป็นเคอร์เนลเสาหินในขณะที่ OS X (XNU) และ Windows 7 ใช้เมล็ดพันธุ์แบบผสม ลองทัวร์สามหมวดอย่างรวดเร็วเพื่อเราจะได้เข้าไปดูรายละเอียดเพิ่มเติมในภายหลัง. ภาพโดย ข้าวโพดคั่วในเมือง microkernel ข้อดี
จุดด้อย
เคอร์เนลเสาหิน ข้อดี
จุดด้อย
รูปภาพผ่าน schoschie บน Flickr เคอร์เนลลูกผสม ข้อดี
จุดด้อย
ไฟล์เคอร์เนล Linux อยู่ที่ไหน?ไฟล์เคอร์เนลในอูบุนตูถูกเก็บไว้ในโฟลเดอร์ / boot ของคุณและเรียกว่า vmlinuz-รุ่น. ชื่อ vmlinuz มาจากโลกของยูนิกซ์ที่พวกเขาเคยเรียกว่าเมล็ดของพวกเขาเพียงแค่ "unix" ย้อนกลับไปในยุค 60 ดังนั้น Linux เริ่มเรียกเคอร์เนล "linux" ของพวกเขาเมื่อมันถูกพัฒนาขึ้นครั้งแรกใน 90. เมื่อหน่วยความจำเสมือนได้รับการพัฒนาเพื่อความสามารถในการทำงานหลายอย่างง่ายขึ้น“ vm” ถูกวางไว้ด้านหน้าของไฟล์เพื่อแสดงว่าเคอร์เนลรองรับหน่วยความจำเสมือน ในขณะที่เคอร์เนล Linux ถูกเรียกว่า vmlinux แต่เคอร์เนลมีขนาดใหญ่เกินไปที่จะพอดีกับหน่วยความจำบูตที่มีอยู่ดังนั้นภาพเคอร์เนลจึงถูกบีบอัดและตอนจบ x ถูกเปลี่ยนเป็น z เพื่อแสดงว่าถูกบีบอัดด้วยการบีบอัด zlib การบีบอัดแบบเดียวกันนี้ไม่ได้ถูกนำมาใช้เสมอ ๆ มักจะถูกแทนที่ด้วย LZMA หรือ BZIP2 และเมล็ดบางส่วนเรียกง่ายๆว่า zImage. การกำหนดหมายเลขเวอร์ชันจะอยู่ในรูปแบบ A.B.D โดยที่ A.B อาจเป็น 2.6, C จะเป็นเวอร์ชั่นของคุณและ D หมายถึงแพตช์หรือการแก้ไขของคุณ. ในโฟลเดอร์ / boot จะมีไฟล์สำคัญอื่น ๆ ที่เรียกว่า initrd.img-version, system.map-version และ config-version ไฟล์ initrd จะใช้เป็นดิสก์ RAM ขนาดเล็กที่แยกและดำเนินการไฟล์เคอร์เนลจริง ไฟล์ system.map ใช้สำหรับการจัดการหน่วยความจำก่อนที่เคอร์เนลจะโหลดเต็มที่และไฟล์ config จะบอกเคอร์เนลว่าตัวเลือกและโมดูลใดที่จะโหลดเข้าสู่อิมเมจเคอร์เนลเมื่อมีการรวบรวม. สถาปัตยกรรมเคอร์เนล Linuxเนื่องจากเคอร์เนลลินุกซ์เป็นเสาหินมันมีรอยเท้าที่ใหญ่ที่สุดและมีความซับซ้อนมากที่สุดในเมล็ดชนิดอื่น นี่เป็นคุณสมบัติการออกแบบซึ่งอยู่ภายใต้การถกเถียงกันค่อนข้างน้อยในช่วงแรก ๆ ของ Linux และยังคงมีข้อบกพร่องในการออกแบบบางอย่างเช่นเดียวกับที่เมล็ดในเสาหินมีอยู่โดยธรรมชาติ. สิ่งหนึ่งที่นักพัฒนาเคอร์เนล Linux ทำเพื่อหลีกเลี่ยงข้อบกพร่องเหล่านี้คือการสร้างโมดูลเคอร์เนลที่สามารถโหลดและยกเลิกการโหลดได้ในขณะรันไทม์หมายความว่าคุณสามารถเพิ่มหรือลบคุณลักษณะของเคอร์เนลได้ทันที สิ่งนี้สามารถนอกเหนือไปจากการเพิ่มฟังก์ชันการทำงานของฮาร์ดแวร์ให้กับเคอร์เนลโดยรวมถึงโมดูลที่ใช้กระบวนการเซิร์ฟเวอร์เช่นการจำลองเสมือนระดับต่ำ แต่ยังสามารถอนุญาตให้เคอร์เนลทั้งหมดถูกแทนที่โดยไม่จำเป็นต้องรีบูตเครื่องคอมพิวเตอร์ในบางกรณี. ลองนึกภาพถ้าคุณสามารถอัพเกรดเป็น Service Pack ของ Windows โดยไม่จำเป็นต้องรีบูต ... โมดูลเคอร์เนลจะเกิดอะไรขึ้นถ้า Windows มีไดรเวอร์ทุกตัวที่ติดตั้งไว้แล้วและคุณต้องเปิดไดรเวอร์ที่คุณต้องการ นั่นคือสิ่งที่โมดูลเคอร์เนลทำเพื่อ Linux โมดูลเคอร์เนลหรือที่เรียกว่าโมดูลเคอร์เนลที่สามารถโหลดได้ (LKM) เป็นสิ่งจำเป็นในการทำให้เคอร์เนลทำงานกับฮาร์ดแวร์ทั้งหมดของคุณโดยไม่ต้องใช้หน่วยความจำที่มีอยู่ทั้งหมด. โดยทั่วไปโมดูลจะเพิ่มฟังก์ชันการทำงานให้กับเคอร์เนลฐานสำหรับสิ่งต่าง ๆ เช่นอุปกรณ์ระบบไฟล์และการเรียกระบบ LKMs มีนามสกุลไฟล์. ko และโดยทั่วไปจะถูกเก็บไว้ในไดเรกทอรี / lib / modules เนื่องจากลักษณะแบบแยกส่วนคุณสามารถปรับแต่งเคอร์เนลของคุณได้อย่างง่ายดายโดยการตั้งค่าโมดูลให้โหลดหรือไม่โหลดระหว่างการเริ่มต้นด้วยคำสั่ง menuconfig หรือแก้ไขไฟล์ / boot / config ของคุณหรือคุณสามารถโหลดและยกเลิกการโหลดโมดูลได้ทันทีด้วย modprobe คำสั่ง. โมดูลบุคคลที่สามและโมดูลที่ปิดมีให้บริการในการแจกจ่ายบางอย่างเช่น Ubuntu และอาจไม่ได้รับการติดตั้งเป็นค่าเริ่มต้นเนื่องจากไม่มีซอร์สโค้ดสำหรับโมดูลนั้น ผู้พัฒนาซอฟต์แวร์ (เช่น nVidia, ATI และอื่น ๆ ) ไม่ได้ให้ซอร์สโค้ด แต่จะสร้างโมดูลของตนเองและรวบรวมไฟล์. ko ที่จำเป็นสำหรับการแจกจ่าย แม้ว่าโมดูลเหล่านี้จะฟรีเหมือนในเบียร์ แต่ก็ไม่ได้ฟรีเหมือนในการพูดและดังนั้นจึงไม่รวมอยู่ในการแจกแจงบางอย่างเนื่องจากผู้ดูแลรู้สึกว่า "taints" เคอร์เนลโดยการให้ซอฟต์แวร์ที่ไม่ใช่ฟรี. เคอร์เนลไม่ใช่เวทมนต์ แต่เป็นสิ่งจำเป็นอย่างยิ่งสำหรับคอมพิวเตอร์ทุกเครื่องที่ทำงานอย่างถูกต้อง เคอร์เนล Linux แตกต่างจาก OS X และ Windows เนื่องจากมีไดรเวอร์ในระดับเคอร์เนลและทำให้หลายสิ่งรองรับ“ ไม่ใช้งาน” หวังว่าคุณจะรู้เพิ่มเติมเล็กน้อยเกี่ยวกับการทำงานร่วมกันของซอฟต์แวร์และฮาร์ดแวร์และไฟล์ที่คุณต้องใช้ในการบูตเครื่องคอมพิวเตอร์ของคุณ. เคอร์แนล (Kernel) คือข้อใดเคอร์เนล (Kernel) คือโปรแกรมพื้นฐานภายใต้ระบบปฏิบัติการคอมพิวเตอร์ (OS) ที่คอยทำหน้าที่เป็นสื่อกลางระหว่างฮาร์ดแวร์ กับ ซอฟต์แวร์และช่วยจัดการทรัพยากรในคอมพิวเตอร์ต่าง ๆ เช่น การใช้พื้นที่ หน่วยความจำ (RAM) , การใช้ หน่วยประมวลผลกลาง (CPU) การจัดการไฟล์ และ ระบบอื่น ๆ ส่วนใหญ่ เป็นต้น (เว้นแต่ GPU อยู่นอกเหนือหน้าที่ ...
Linux ทำอะไรได้บ้างลีนุกซ์ เป็นระบบปฏิบัติการเช่นเดียวกับ ดอส ไมโครซอฟต์วินโดวส์ หรือยูนิกซ์ โดยลีนุกซ์นั้นจัดว่าเป็นระบบปฏิบัติการยูนิกซ์ประเภทหนึ่ง การที่ลีนุกซ์เป็นที่กล่าวขานกันมากขณะนี้ เนื่องจากความสามารถของตัวระบบปฏิบัติการและโปรแกรมประยุกต์ที่ทำงานบนระบบลีนุกซ์ โดยเฉพาะอย่างยิ่งโปรแกรมในตระกูลของ GNU (GNU's Not UNIX) และสิ่งที่ ...
โครงสร้างของระบบปฏิบัติการยูนิกส์ส่วนใดที่ทำหน้าเป็นตัวกลางระหว่างผู้ใช้งานกับ kernelเชลล์ (shell)เป็นซอฟต์แวร์ตัวกลางที่ท าหน้าที่ติดต่อระหว่างผู้ใช้กับเคอร์เนล แบ่ง ออกเป็น 2 กลุ่มคือ กลุ่มเชลล์ที่มีการติดต่อกับผู้ใช้ด้วยค าสั่ง (Command Line Interface - CLI) และเชลล์ที่มีการติดต่อกับผู้ใช้โดยใช้ภาพสัญลักษณ์ (Graphic User Interface - GUI) - CLI ผู้ใช้จะต้องป้อนค าสั่งผ่านทางคีย์บอร์ดเป็นลักษณะข้อความ ...
ระบบปฏิบัติการแบ่งออกเป็นกี่ประเภท อะไรบ้างระบบปฏิบัติการสามารถแบ่งได้เป็นสองประเภทตามลักษณะการใช้งาน ได้แก่แบบ "งานเดี่ยว" (single-tasking) และแบบ "หลายงาน" (multi-tasking) ระบบแบบงานเดี่ยวเป็นระบบที่ยอมให้มีผู้ใช้เพียงหนึ่งคนเท่านั้นในการใช้่แต่ละครั้ง และเมื่อมีผู้ใช้หนึ่งคนก็จะสามารถใช้โปรแกรมได้เพียงหนึี่งโปรแกรมเท่านั้น
|