คำถามติดแท็ก linux-kernel

คำถามเกี่ยวกับ Linux kernel และ Linux kernel หัวข้อที่เกี่ยวข้องเช่น รายละเอียดการนำไปใช้เช่นการเรียกใช้ระบบการปรับแต่งเคอร์เนล ฯลฯ สำหรับหัวข้อพื้นที่ผู้ใช้ Linux ซึ่งไม่เกี่ยวข้องกับรายละเอียดเคอร์เนล [linux] หรือแท็กการกระจายจะเหมาะสมกว่า

7
ฉันจะค้นหาการนำไปใช้ของการเรียกระบบเคอร์เนล Linux ได้อย่างไร?
ฉันพยายามที่จะเข้าใจว่าฟังก์ชั่นพูดmkdirทำงานได้อย่างไรโดยดูที่เคอร์เนล นี่เป็นความพยายามที่จะเข้าใจเคอร์เนลภายในและนำทางระหว่างฟังก์ชั่นต่าง ๆ ฉันรู้ว่าถูกกำหนดไว้ในmkdir sys/stat.hฉันพบต้นแบบ: /* Create a new directory named PATH, with permission bits MODE. */ extern int mkdir (__const char *__path, __mode_t __mode) __THROW __nonnull ((1)); ตอนนี้ฉันต้องดูว่าไฟล์นี้ใช้ฟังก์ชั่นใดของ C จากไดเรกทอรีแหล่งฉันพยายาม ack "int mkdir" ซึ่งแสดง security/inode.c 103:static int mkdir(struct inode *dir, struct dentry *dentry, int mode) tools/perf/util/util.c 4:int mkdir_p(char *path, …

6
เหตุใด Linux จึงไม่ได้รับการยอมรับว่าเป็นเคอร์เนล GNU อย่างเป็นทางการ
ในขณะที่ฉันรู้อยู่พักหนึ่งแล้วว่าHurdและภารกิจในฐานะเคอร์เนลระบบปฏิบัติการ GNU อย่างเป็นทางการฉันก็สงสัยว่า Linux จะไม่ได้รับการยอมรับว่าเป็นเคอร์เนล GNU อย่างเป็นทางการในช่วงหลายปีที่ผ่านมา ดีกว่าฮูลด์? ลินุกซ์มีบทบาทหน้าที่นี้มาไม่ต่ำกว่า 20 ปีแต่ก็เห็นได้ว่าโครงการ GNU กำลังรักษาระยะห่างเมื่อใช้งานกับลีนุกซ์ ทำไมสิ่งนี้จึงเกิดขึ้น เป็นเพราะความฝันที่ Hurd จะ (ในบางจุดในอนาคต) อยู่ในระดับคุณภาพการผลิตหรือไม่? เป็นเพราะโครงการ GNU ไม่เห็นภารกิจของมันสะท้อนให้เห็นถึงเท่าที่ต้องการใน Linux? มันเป็นเพราะเหตุผลทางการเมืองอื่น ๆ ?
128 linux-kernel  gnu  hurd 

3
การตั้งค่าสถานะ Windows ในโลโก้ Linux ของเคอร์เนล 3.11 หมายถึงอะไร
ฉันเพิ่งติดตั้ง kernel-3.11.0-1.fc20 สำหรับการติดตั้ง Fedora 19 ของฉัน ในระหว่างการรีบูตเครื่องฉันเห็นโลโก้ Linux ที่มีธง Windows อยู่หมายความว่าอะไร Fedora 19 ได้รับการติดตั้งในโน้ตบุ๊ก ASUS TX300CA บูตอย่างปลอดภัยปิดอยู่โหมดCSM (โมดูลรองรับความเข้ากันได้ของ BIOS)เปิดอยู่

6
หาก Linux เป็นเพียงเคอร์เนลดังนั้นรุ่นแรกที่ใช้ (ไม่มีการแจกจ่าย) เป็นอย่างไร
ลีนุกซ์เป็นเพียงเคอร์เนลและหากผู้ใช้ต้องการใช้งานพวกเขาก็ต้องการการกระจายที่สมบูรณ์ ที่ถูกกล่าวว่ารุ่นแรกของ Linux ใช้อย่างไรเมื่อไม่มีการแจกแจง Linux?

6
ทำไมเคอร์เนล Linux มีโค้ดมากกว่า 15 ล้านเส้น? [ปิด]
อะไรคือเนื้อหาของฐานรหัสเสาหินนี้? ฉันเข้าใจการสนับสนุนสถาปัตยกรรมโปรเซสเซอร์ความปลอดภัยและการจำลองเสมือน แต่ฉันไม่สามารถจินตนาการได้ว่ามีมากกว่า 600,000 บรรทัดหรือมากกว่านั้น อะไรคือเหตุผลในอดีตและปัจจุบันไดรเวอร์จะรวมอยู่ในฐานรหัสเคอร์เนล? 15 ล้านเส้นเหล่านั้นรวมถึงไดรเวอร์ทุกตัวสำหรับฮาร์ดแวร์ทุกชิ้นหรือไม่? ถ้าเป็นเช่นนั้นก็จะเกิดคำถามทำไมจึงมีไดรเวอร์ฝังอยู่ในเคอร์เนลและไม่แยกแพคเกจที่ตรวจพบโดยอัตโนมัติและติดตั้งจาก ID ฮาร์ดแวร์ ขนาดของรหัสฐานเป็นปัญหาสำหรับอุปกรณ์ที่จัดเก็บข้อมูลหรือ จำกัด หน่วยความจำหรือไม่? ดูเหมือนว่ามันจะขยายขนาดเคอร์เนลสำหรับอุปกรณ์ ARM ที่ จำกัด พื้นที่หากสิ่งที่ฝังอยู่ มีบรรทัดจำนวนมากที่ถูกเลือกโดยตัวประมวลผลล่วงหน้าหรือไม่? โทรหาฉันบ้า แต่ฉันนึกภาพไม่ออกว่าเครื่องจักรต้องการตรรกะมากมายในการทำงานสิ่งที่ฉันเข้าใจคือบทบาทของเคอร์เนล มีหลักฐานว่าขนาดจะเป็นปัญหาใน 50 ปีขึ้นไปเนื่องจากมันดูเหมือนธรรมชาติที่เคยเติบโต? การรวมไดรเวอร์หมายความว่ามันจะเติบโตขึ้นเมื่อฮาร์ดแวร์ทำขึ้น แก้ไข : สำหรับผู้ที่คิดว่านี่คือลักษณะของเมล็ดหลังจากการวิจัยบางอย่างฉันรู้ว่ามันไม่ได้เป็นเสมอ เคอร์เนลไม่จำเป็นต้องมีขนาดใหญ่เท่านี้เนื่องจากmicrokernel Mach ของ Carnegie Mellon ถูกระบุว่าเป็นตัวอย่าง 'มักจะต่ำกว่า 10,000 บรรทัดของโค้ด'
109 linux-kernel 

1
เคอร์เนลที่ปนเปื้อนใน Linux คืออะไร?
ภายใต้เงื่อนไขบางเคอร์เนลอาจจะกลายเป็นปนเปื้อน ตัวอย่างเช่นการโหลดโปรแกรมควบคุมวิดีโอกรรมสิทธิ์ลงในเคอร์เนล taints เคอร์เนล เงื่อนไขนี้อาจมองเห็นได้ในบันทึกของระบบข้อความแสดงข้อผิดพลาดเคอร์เนล (โอ๊ะโอและตกใจ) และผ่านเครื่องมือต่าง ๆ เช่นlsmodและยังคงอยู่จนกว่าระบบจะรีบูต สิ่งนี้หมายความว่า? มันส่งผลกระทบต่อความสามารถในการใช้ระบบของฉันหรือไม่และจะมีผลกับตัวเลือกการสนับสนุนของฉันอย่างไร

2
“ WannaCry” บนระบบ Linux: คุณจะปกป้องตัวเองได้อย่างไร
จากบทความของ quick7 ระบุว่ามีบางรุ่นที่มีช่องโหว่ของSamba ที่อนุญาตให้เรียกใช้โค้ดจากระยะไกลบนระบบ Linux: ในขณะที่WannaCry ransomworm ส่งผลกระทบต่อระบบ Windows และสามารถระบุได้อย่างง่ายดายด้วยขั้นตอนการแก้ไขที่ชัดเจนช่องโหว่Sambaจะส่งผลกระทบต่อระบบ Linux และ Unix และอาจมีอุปสรรคทางเทคนิคที่สำคัญในการรับหรือปรับใช้การแก้ไขที่เหมาะสม CVE-2017-7494 Samba ทุกรุ่นตั้งแต่ 3.5.0 เป็นต้นไปมีความเสี่ยงต่อความเสี่ยงในการเรียกใช้โค้ดจากระยะไกลทำให้ไคลเอนต์ประสงค์ร้ายสามารถอัพโหลดไลบรารี่ที่แชร์ไปยังการแชร์ที่เขียนได้จากนั้นทำให้เซิร์ฟเวอร์โหลดและดำเนินการ สถานการณ์การโจมตีที่เป็นไปได้: เริ่มจากปัจจัยสองประการ: ช่องโหว่ Samba ยังไม่ได้รับการแก้ไขในระบบ Linux บางตัว มีช่องโหว่การเพิ่มระดับสิทธิพิเศษที่ไม่ได้รับการแก้ไขบนเคอร์เนล Linux บางเวอร์ชัน (ตัวอย่างเช่น CVE-2017-7308 บนเคอร์เนล Ubuntu 4.8.0-41-generic) ผู้โจมตีสามารถเข้าถึงเครื่อง Linux และยกระดับสิทธิพิเศษในการใช้ประโยชน์จากช่องโหว่ในท้องถิ่นเพื่อให้เข้าถึงรากและติดตั้ง ramsomware ในอนาคตได้คล้ายกับจำลองนี้ขึ้น WannaCry ransomware สำหรับลินุกซ์ ปรับปรุง บทความใหม่ล่าสุด"คำเตือน! แฮกเกอร์เริ่มใช้" SambaCry Flaw "เพื่อแฮ็กระบบ Linux"สาธิตวิธีการใช้ข้อบกพร่อง Sambacry …

3
กระบวนการ CPU ที่ไม่ทำงานทำอะไร
ดูที่แหล่งที่มาของstraceฉันพบการใช้ธงโคลนCLONE_IDLETASKซึ่งอธิบายไว้ที่นั่น: #define CLONE_IDLETASK 0x00001000 /* kernel-only flag */ หลังจากมองลึกลงไปฉันพบว่าแม้ว่าแฟล็กนั้นจะไม่ครอบคลุมในman cloneนั้นจะถูกใช้โดยเคอร์เนลในระหว่างกระบวนการบูตเพื่อสร้างกระบวนการว่าง (ซึ่งทั้งหมดควรมี PID 0) สำหรับแต่ละ CPU บนเครื่อง เช่นเครื่องที่มี 8 CPUs จะมีอย่างน้อย 7 (ดูคำถามด้านล่าง) กระบวนการดังกล่าว "กำลังทำงาน" (เครื่องหมายคำพูด) ตอนนี้สิ่งนี้ทำให้ฉันมีคำถามสองสามข้อเกี่ยวกับกระบวนการ "ว่าง" ที่ทำจริง ๆ ข้อสันนิษฐานของฉันคือมันประมวลผลการดำเนินการ NOP อย่างต่อเนื่องจนกว่ากรอบเวลาจะสิ้นสุดลงและเคอร์เนลจะกำหนดกระบวนการจริงให้เรียกใช้หรือกำหนดกระบวนการว่างอีกครั้ง (หากไม่ได้ใช้งาน CPU) กระนั้นนั่นก็เป็นการคาดเดาที่สมบูรณ์ ดังนั้น: บนเครื่องที่มี 8 ซีพียู 7 กระบวนการที่ไม่ได้ใช้งานจะถูกสร้างขึ้นหรือไม่? (และ CPU หนึ่งตัวจะถูกเก็บไว้โดยเคอร์เนลเองในขณะที่ไม่มีการทำงานของ userspace?) กระบวนการที่ไม่ได้ใช้งานเป็นเพียงแค่กระแสการดำเนินการ NOP ที่ไม่สิ้นสุดจริงๆ (หรือลูปที่ทำเช่นเดียวกัน) การใช้งาน …
73 linux-kernel  cpu 

2
วิธีการแสดงพารามิเตอร์บรรทัดคำสั่งเคอร์เนล Linux ที่กำหนดสำหรับการบูตปัจจุบัน?
ในgrub.confไฟล์กำหนดค่าฉันสามารถระบุพารามิเตอร์บรรทัดคำสั่งที่เคอร์เนลจะใช้เช่น: kernel /boot/kernel-3-2-1-gentoo root=/dev/sda1 vga=791 หลังจากบูทเคอร์เนลที่กำหนดมีวิธีแสดงพารามิเตอร์บรรทัดคำสั่งที่ถูกส่งไปยังเคอร์เนลตั้งแต่แรกหรือไม่? ฉันพบ sysctl แล้ว sysctl --all แต่ sysctl จะแสดงพารามิเตอร์เคอร์เนลที่เป็นไปได้ทั้งหมด

1
ทำไมต้อง 'bc' เพื่อสร้างเคอร์เนล Linux
ลินุกซ์เคอร์เนลต้องการอาคารน้อยระบุว่าเครื่องคิดเลขbcเป็นสิ่งจำเป็นในการสร้าง v4.10 1.06.95เคอร์เนลรุ่นที่น้อยที่สุดของการเป็นเครื่องมือ มีการใช้สิ่งใดbcในบริบทนี้และทำไมภาษา C จึงไม่ใช้โดยตรงแทนbcการดำเนินการเหล่านี้
66 linux-kernel  bc 

7
มีการใช้เธรดเป็นกระบวนการบน Linux หรือไม่
ฉันจะอ่านหนังสือเล่มนี้การเขียนโปรแกรม Linux ขั้นสูงโดย Mark Mitchell, Jeffrey Oldham และ Alex Samuel มันมาจากปี 2001 เก่าไปหน่อย แต่ฉันคิดว่ามันค่อนข้างดี แต่อย่างใด อย่างไรก็ตามฉันมาถึงจุดที่มันแตกต่างจากสิ่งที่ Linux ของฉันผลิตในการส่งออกเปลือก บนหน้า 92 (116 ในตัวแสดง) บทที่ 4.5 การใช้งานเธรด GNU / Linux เริ่มต้นด้วยย่อหน้าที่มีคำสั่งนี้: การติดตั้งเธรด POSIX บน GNU / Linux แตกต่างจากการใช้เธรดในระบบที่คล้ายกับ UNIX อื่น ๆ ในวิธีการที่สำคัญ: บน GNU / Linux เธรดจะถูกใช้เป็นกระบวนการ ดูเหมือนว่าจะเป็นจุดสำคัญและจะแสดงในภายหลังด้วยรหัส C ผลลัพธ์ในหนังสือเล่มนี้คือ: main thread …

4
วิธีการแสดงรายการเคอร์เนลโมดูลที่โหลดได้ทั้งหมด?
ฉันกำลังมองหาโมดูลเคอร์เนลไม่กี่ที่จะโหลดและi2c-dev i2c-bcm2708แต่modprobeคำสั่งจะคืนค่า: sudo modprobe i2c-dev modprobe: module i2c-dev not found in modules.dep ฉันจะแสดงรายการโมดูลที่มีอยู่ทั้งหมดในระบบได้อย่างไร? พวกเขาอยู่ในไดเรกทอรีใด?

5
ทำไมเคอร์เนล Linux จึงเรียกว่า“ รูปภาพ”
ฉันมักจะได้ยินคนพูดถึงเคอร์เนล Linux ว่าเป็นอิมเมจเคอร์เนล Linux และฉันไม่สามารถหาคำตอบในเครื่องมือค้นหาใด ๆ ว่าทำไมถึงเรียกว่ารูปภาพ เมื่อฉันนึกถึงภาพฉันสามารถนึกถึงสองสิ่งเท่านั้นไม่ว่าจะเป็นสำเนาของดิสก์หรือภาพถ่าย แน่นอนว่านรกไม่ใช่ภาพที่ถ่ายดังนั้นทำไมถึงเรียกว่าภาพ?

2
ทำความเข้าใจเกี่ยวกับการเข้าสู่ระบบใน Linux
ตามที่ฉันเข้าใจลีนุกซ์เคอร์เนลจะบันทึก/proc/kmsgไฟล์ (ส่วนใหญ่เป็นข้อความเกี่ยวกับฮาร์ดแวร์) และ/dev/logซ็อกเก็ต? มีที่ไหนอีกไหม แอปพลิเคชันอื่นสามารถส่งข้อความถึง/proc/kmsgหรือ/dev/logไม่ สุดท้าย แต่ไม่ท้ายสุดฉันถูกต้องหรือไม่ว่ามันคือ syslog daemon ( rsyslog , syslog-ng ) ที่ตรวจสอบข้อความจากสองที่จากนั้นกระจายไปยังไฟล์ต่าง ๆ เช่น/var/log/messagesหรือ/var/log/kern.logเซิร์ฟเวอร์กลาง syslog

6
Linux: วิธีค้นหาไดรเวอร์อุปกรณ์ที่ใช้สำหรับอุปกรณ์
หากเป้าหมายของฉันมีอุปกรณ์หนึ่งชิ้นเชื่อมต่ออยู่และมีไดรเวอร์มากมายสำหรับอุปกรณ์นั้นโหลดฉันจะเข้าใจได้อย่างไรว่าอุปกรณ์ใดใช้ไดรเวอร์ใดอยู่

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