Basic concepts
1. A linked list is a commonly used data structure that passes through pointers
Connect a series of data nodes into a single data chain.
Phase
For the array, the linked list has a better dynamic nature, and establishes
Linked list without prior knowledge of the total amount of data, you can randomly
Allocate space that can be efficiently in any bit
ACL File Access Control List in Linux
In Linux, objects that can be operated on a file (or resource) are divided into three types: file owner (file owner), group (group, it may not be the group where the file owner is located. other (Others) defines the read, write, execute (read, write and execute) permissions and special permissions for each category. However,
1. Ordinary single-linked list2. Kernel link ListI was stolen from other blogs, almost fooled past.I use keynote to draw it myself (alas!!) Drawing really is to let the human heart is very tired ah!! )。The difference is not very obvious ah?!Read the fucking Source Code1. Initialization/*Include/linux/types.h*/structList_head {structList_head *next, *prev;};/* include/linux/list.h *//*xxxxxxxxxxxxxxxxxxxxxxx
Use the Linux lsblk command to list block device information
The lsblk command is used to list information about all available Block devices. However, it does not list information about ramdisks. Block devices have hard disks, flash drives, CD-ROM and so on.How to install lsblk
The lsblk command is included in the util
Tags: empty Two system contains example data log queue tryIn the morning to work in the subway line, to the company downstairs waiting for the elevator to line up, lunch to line up, after work to pursue a girl also to line up, even on the internet to download a short film of what door to queue, every time you see the crowd lined up a long time, only really realize that they are the descendants of the dragon. So let's talk about the queue (linked list)
1, the definition of the kernel linked list in include/linux/list.hstructstruct list_head *next, *prev;};It is easy to see that the Linux kernel list is a doubly linked list.2, the Linux link
definition of the Linux kernel list (defines a doubly linked list, without data fields)defined in the/linux-source-3.13.0/include/linux/types.h header file.1 struct List_head {2 struct list_head *next, *prev; 3 };We can use this data structure to define linked lists
The list module is a set of cyclic linked list functions provided by the Linux kernel, and the header file is:main data Structure :struct List_head {struct list_head *next, *prev;};This is a doubly linked list.#define LIST_HEAD_INIT (name) { (name), (name)} #define LIST_HEAD (name) struct List_head name = List
Guide
The Linux kernel itself implements a doubly linked list, which can be found in include/linux/list.h. We will begin by introducing the data structure in the kernel from a doubly linked list structure. Why? Because it is used extensively in the kernel, you just need to retrieve it in free-electrons.com.
Recently looking at the code of the Linux kernel, the first to know is the data structure used internally by Linux: Linked list.In fact, the list of links used by the Linux kernel is a two-way circular list. Like a regular linked list
Describe the implementation of hash lists in the Linux kernel, which is used very much in the Linux kernel hash list.And I later in the software design, it is also very likely to use. Hash lists are, after all, very handy in the search process for data.The Linux kernel's implementation of hash lists is perfect, so it's very necessary to learn.In the implementatio
));})
description : Gets a pointer to the entire struct variable, based on the pointer (PTR) of the domain member variable (member) in the struct (type) variable.typeof (((type *) 0)->member) takes out the variable type of the member member.Const typeof (((type *) 0)->member) *__mptr = (PTR) defines the variable __mptr pointer and assigns PTR to __mptr. After this step, __mptr is a constant pointer to the member data type, which points to the address that PTR points to.(__mptr) (char *) con
Use Linux kernel list-general Linux technology-Linux programming and kernel information in your program. The following is a detailed description. In our daily programs, we often encounter writing linked lists. For c ++ programs, stl provides two templates: list and vector, w
List of recommended books for Linux programming (resend)
Shell programmingLinux and Unix shell programming guide Bash: Advanced bash scripting Guide (if you are using the GNU/Debian system, you can use apt-Get install ABS-Guide to install this document) Bash programming-introduction how- Bash man User-level programming books: Advanced Programming in the Unix environment (Second edition of t
Linux kernel link list:A linked list typically consists of two fields: a data field and a pointer field.struct list_head{struct List_head *next,*prev;};A wonderful set of linked list data structures is implemented in include/linux/list.h.The traditional linked list pointer p
request memory will not occur.?? List_empty: Checks if the linked list is empty.?? List_for_each_entry: Iterates through the list and gets the pointer to the outer struct by List_entry.use of the kernel chain list?? First define the structure, the data for CH and grade,ch save the student's name, Grade Save the student's performance.?? Then define one, two, thre
is in use.If the above two steps are not return then it is necessary to the PID bitmap in the PID representation of the 0, for the system to use.An understanding of the above code is prone to problems:
(tmp = Pidtype_max;--tmp >= 0;)
201 if (tmp! = Type find_pid (tmp, NR))
202 return;
Why only search other types of hash lists without processing the hash list of the type of PID we just deleted? Because the hash
The development of contact with Linux more and more, rest and relax, inevitably look over the mysterious Linux kernel. See the two-way linked list, I think it is very interesting, this article noted.As a member of many basic data structures, the implementation of the two-way circular linked list in various "textbooks"
Now open source so hot, so that the mouth is not mentioned as if it is not engaged in it, then how to embrace open source? This article is suitable for beginners, such as the great God so far, goto exit!first, how to join the open sourceIn Linux, for example, what does a successful open source project need to do? An open source project, developers are time and spatially dispersed, then how to contact how to discuss each other as a very important and i
The previous blog "Linux kernel source" Two-way list List_head "" In an example of the use of the List_head doubly linked list, only the code of the instance, and there is no list_head linked list of code, considering the eager friends of the strong desire, today List_ The head code is list.h header file paste here, fo
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.