Linux kernel source code learning: Zombie processes, Linux kernel source code botnets
Orphan and botnets
After a normal sub-process fork parent process, the two establish a parent-child relationship.
When the child process ends, it notifies the parent process, clears the memory occupied by the child process, and leave
Article title: comparison between Linux kernel and traditional Unix kernel. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, em
instructions in the critical section are executed continuously, and may be executed in the critical section half way, Because the scheduler is preempted or interrupted, the CPU does not continue to execute within the critical zone, which means the execution is interrupted.But that still guarantees the avoidance of competitive conditions, the reason is that if a process outside of the interrupted process is scheduled, the process will have to access the critical section, the lock or semaphore, a
Use kgdb to debug Linux kernel and Kernel Modules
Created:Article attributes: originalArticle submission: xcspy (xcspy.com _ at_gmail.com)
Author: xcspy member ladybugE-mail: xcspy.com@gmail.comHome: www.xcspy.com
1. Comparison of several kernel debugging tools
KDB: Debugging can only be performed at the compilation co
Linux Kernel implements interrupt and interrupt processing (2). Linux Kernel
The first part is the step-by-step call !! : Http://www.cnblogs.com/lenomirei/p/5562086.html
The last time I said that the Linux kernel interrupt will di
1. Comparison of several kernel debugging tools
KDB: Debugging can only be performed at the compilation code level;The advantage is that two machines are not required for debugging.
GDB: it lacks some essential functions when debugging A module. It can be used to view the running status of the kernel, including disassembly of kernel functions.
Kgdb: it is conven
scheduling time tracking analysis process scheduling and process switching processAny form of learning is not an overnight process, to undergo a painful period of discipline.At the beginning of the contact with Linux, a variety of commands, but after a period of time you can remember. As for the order, I will write another blog to summarize some of the basic commands that I have learned about bird's private dishes.To get to the next, now I learn to u
Linux Kernel linked list (3), Linux Kernel
Introduction to common Linux kernel two-way linked list APIs
The linux link list structure is as follows:
Position of the
Kernel Source Directory1, Arch: recorded x86 focus on2. Init: Start_kernel in MAIN.C under directory is the starting point of the boot kernel3. IPC: Directory of inter-process communicationExperimentOpen the shell with a virtual machine in the lab buildingCD linuxkernel/Qemu-kernel LINUX-3.18.6/ARCH/X86/BOOT/BZIMAGE-INITRD rootfs.imgUse gdb Trace Debug Kernelqemu
1. Create a kernel for the embedded platform (the 6410 Development Board is used as an example here)
1. Clear the original configuration and intermediate files
(1) x86: Make distclean
(2) arm: Make distclean
2. Configure the kernel
(1) x86: Make menuconfig
(2) arm: Make menuconfig arch = arm (platform to be specified)
3. Compile the kernel
(1) x86: Make bzimage
(
The Linux kernel of Android is stored in the kernel subdirectory. By comparing it with the standard Linux 2.6.25 kernel, we can find that it mainly adds the following content:
1. Add the gold-fish platform based on the ARM architecture. The directories added are as follows:
Linux kernel kernel_ nuclear travel_ Travel Linux kernelLinux 2.61Hellomod.c001Hello World driver for Linux 2.6#include #include #inlcude /* Header File */Static Int_init lkp_init (void){PRINTK ("Equivalent to the printf output function in c,return 0;}Static Void_exit lkp_cleanup (void){PRINTK ("}Module_init (Lkp_init)
Programs running in the Linux kernel should always prevent competing states caused by concurrency. This will cause the data structure to be broken down and cause the kernel to crash in severe cases. Therefore, the kernel synchronization technology is very important to the driver developed by the
Chen Chaojan Original works reproduced please specify the source "Linux kernel Analysis" MOOC course http://mooc.study.163.com/course/USTC-1000029000first, the experimental processLanding Lab Building Virtual machine http://www.shiyanlou.com/courses/195Open the shell terminal and execute the following command:
CD Linuxkernel
RM-RF Menu
git clone https://github.com/mengning/menu.git
CD M
I. Linux configuration and compilation
Linux has the following advantages:
1. Clear temporary files, intermediate files, and configuration files
(1) make clean: delete most of the generated files, but keep the configuration file
(2) Make mrproper: delete all generated files and configuration files
(3) make distclean: Delete the patch and backup files of the editor based on make mrproper.
2. Deter
corresponding __attribute__ parameters in parentheses.The syntax format is: __attribute__ ((attribute-list))Attribute sections are used for functions and variables, and typically the compiler places functions in the. Text section, where variables are placed in the. data or. BSS sections, and the section property allows the compiler to place functions or variables in the specified section.2, meaning of Is_err () in driverAll drivers are running in kernel
Transferred from: http://www.cnblogs.com/lcw/p/3159394.htmlPrefaceWhen a user compiles a Linux kernel code, several files are generated: Vmlinz, initrd.img, and System.map, and if the Grub Boot manager program is configured, the files are seen in the/boot directory.
VmlinuzThe Vmlinuz is a bootable, compressed kernel file.The file contains a minimal functio
Operating system kernel (linux), operating system kernel linux
Kernel of the Operating System)
Is a group of programs that focus on managing all activities of the computer and all hardware in the drive system.
With the kernel
Linux kernel universal queue implementation KfifoLocation: kernel/kififo.cUse required include header file # include 1. Create queue (dynamically created)int Kfifo_alloc (struct kififo *fifo, unsigned int size, gfp_t gfp_mask);The function creates and initializes a FIFO of size, and the kernel uses the Gfp_mask identit
I. measurement time difference
1. There is a constant "HZ" in the Linux kernel, and Hz is a constant unrelated to the architecture. It is used to configure the number of system interruptions per second. The value range is 50-1200 (meaning 50 to 1200 interruptions per second). The default value is 1000 on the X86 platform.
2. The global variable jiffies (unsigned long ). Every time a clock is interrupted, th
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.