Câu hỏi được gắn thẻ «linux-kernel»

Thẻ này dành cho các câu hỏi về phần bên trong của chính nhân Linux - đặc biệt là về cách viết mã chạy trong ngữ cảnh của nhân (như mô-đun hoặc trình điều khiển của nhân). Thay vào đó, các câu hỏi về cách viết mã vùng người dùng trong Linux nên được gắn thẻ [linux]. Vì bên trong của nhân Linux liên tục thay đổi, nên sẽ rất hữu ích nếu bạn đưa vào (các) phiên bản nhân chính xác mà bạn quan tâm.





6
Làm cách nào để tránh cảnh báo transparent_hugepage / defrag từ mongodb?
Tôi nhận được cảnh báo sau từ mongodb về THP 2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' Nhưng tôi đã quản lý để tắt THP theo cách thủ công frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never] frederick@UbuntuVirtual:~$ cat …

2
Là gì? = Trong Makefile
KDIR ?= $(shell uname -r) Ý nghĩa của là ?=gì? Tôi đã hiểu sự khác biệt giữa :=, +=và =từ một chủ đề có sẵn trong Stack Overflow, nhưng không thể tìm ra lời giải thích cho ?=.

2
Vdso và vsyscall là gì?
tôi đã làm sudo cat /proc/1/maps -vv Tôi đang cố gắng hiểu kết quả đầu ra thì có thể thấy rất nhiều thư viện được chia sẻ được ánh xạ tới phân đoạn ánh xạ bộ nhớ như mong đợi. 7f3c00137000-7f3c00179000 r-xp 00000000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c00179000-7f3c00379000 ---p 00042000 08:01 …
89 c  linux  linux-kernel  kernel  vdso 

3
Sử dụng gdb để mã lắp ráp một bước bên ngoài tệp thực thi được chỉ định gây ra lỗi "không thể tìm thấy giới hạn của chức năng hiện tại"
Tôi đang ở bên ngoài mục tiêu thực thi của gdb và tôi thậm chí không có ngăn xếp tương ứng với mục tiêu đó. Tôi vẫn muốn thực hiện từng bước một để có thể xác minh điều gì đang xảy ra trong mã lắp ráp của mình, bởi …

2
Sử dụng dấu phẩy động trong nhân Linux
Tôi đang đọc "Phát triển nhân Linux" của Robert Love, và tôi đã xem qua đoạn văn sau: Không (Dễ dàng) Sử dụng Dấu phẩy động Khi một quy trình không gian người dùng sử dụng các lệnh dấu phẩy động, hạt nhân quản lý quá trình chuyển đổi từ …

1
Hình ảnh so với zImage và uImage
sự khác biệt giữa chúng là gì? Tôi biết rằng u-boot cần một nhân ở định dạng uImage. Hệ thống mà tôi sử dụng khởi động đầu tiên từ bộ nạp giai đoạn 1 và sau đó nó gọi là u-boot. Tôi muốn loại bỏ u-boot và khởi động trực …

5
Chọn bộ lập lịch I / O Linux
Tôi đọc rằng có thể thay đổi bộ lập lịch I / O cho một thiết bị cụ thể trên hạt nhân đang chạy bằng cách ghi vào / sys / block / [disk] / queue / Scheduler. Ví dụ tôi có thể thấy trên hệ thống của mình: anon@anon:~$ …

7
Hiểu macro container_of trong nhân Linux
Khi tôi duyệt hạt nhân Linux, tôi tìm thấy một container_ofmacro được định nghĩa như sau: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) Tôi hiểu container_of làm gì, nhưng điều tôi không hiểu là câu …



4
Sự cần thiết của dấu ngoặc rỗng '{}' ở cuối chuỗi cấu trúc là gì?
Tôi nhấn một số mã c trong nhân Linux: static struct ctl_table ip_ct_sysctl_table[] = { { .procname = "ip_conntrack_max", .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec, }, // ... { .procname = "ip_conntrack_log_invalid", .maxlen = sizeof(unsigned int), .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = &log_invalid_proto_min, .extra2 = …

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.