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

2
เหตุใดจึงไม่มี batching syscall ทั่วไปใน Linux / BSD
พื้นหลัง: ค่าใช้จ่ายในการโทรของระบบมีขนาดใหญ่กว่าค่าใช้จ่ายในการเรียกใช้ฟังก์ชัน (ประมาณช่วงจาก 20-100x) ส่วนใหญ่เกิดจากการสลับบริบทจากพื้นที่ผู้ใช้เป็นพื้นที่เคอร์เนลและด้านหลัง มันเป็นเรื่องธรรมดาที่ฟังก์ชั่นแบบอินไลน์เพื่อประหยัดค่าใช้จ่ายการเรียกใช้ฟังก์ชั่นและการเรียกใช้ฟังก์ชั่นมีราคาถูกกว่า syscalls มาก เหตุผลที่ผู้พัฒนาต้องการหลีกเลี่ยงบางส่วนของการเรียกใช้ระบบโดยดูแลการดำเนินการในเคอร์เนลให้มากที่สุดใน syscall เดียวเท่าที่จะทำได้ ปัญหา: นี้ได้สร้างจำนวนมาก (ฟุ่มเฟือย?) สายระบบเช่นsendmmsg () , recvmmsg ()เช่นเดียวกับ chdir เปิด lseek และ / หรือการรวมกัน symlink ที่ชอบ: openat, mkdirat, mknodat, fchownat, futimesat, newfstatat, unlinkat, fchdir, ftruncate, fchmod, renameat, linkat, symlinkat, readlinkat, fchmodat, faccessat, lsetxattr, fsetxattr, execveat, lgetxattr, llistxattr, lremovexattr, fremovexattr, …

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