FreeeLinux's blog

没有迷路的人

Linux内存管理复习总结

首先来看一张图:这张图就是Linux分配内存的大致流程。下面我来总结一下。分页首先Linux是基于内存管理采用分页机制,内核代码中它将所有段基址都设置为0,Linux采用这样的方法直接避过了分段机制。仅仅用分段来控制用户态和用户态的访问权限。内核内存分配内核对于大块内存的分配基于伙伴算法,用来解决...

2017-02-28 12:20:52

阅读数 666

评论数 0

mmap内核源码分析

对于mmap函数,我之前的理解太单一了。这几天好好复习了一下以前学过的知识,重新对该函数有了新的认识。之前我的认识是,mmap是用来映射内存的,它映射的内存来自磁盘上文件。所以我以为malloc函数底层也映射文件内存。后来一直想不通。实际上,mmap函数再malloc底层实现中采用了匿名映射(就是...

2017-02-27 22:47:35

阅读数 1616

评论数 0

学习目录

惊群”,看看nginx是怎么解决它的。

2017-02-27 14:06:32

阅读数 361

评论数 0

Linux 2.6 中的页面回收与反向映射

引用网址:http://rritw.com/a/caozuoxitong/Linux/20110617/89155.html 为什么要进行页面回收 操作系统管理内存中的物理页面,同时也担任着内存分配的职责。应用程序可以通过内存分配函数向操作系统申请物理页面;在使用完这些物理页面之后,应用程序...

2017-02-26 11:38:47

阅读数 313

评论数 0

Manacher算法总结

Manacher算法 算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。 相对于前面介绍的两个算法,Manacher算法的应用范围要狭窄得多,但是它的思想和拓展kmp算法有很...

2017-02-22 18:50:43

阅读数 240

评论数 0

55. Jump Game(贪心)

Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maxim...

2017-02-22 15:41:31

阅读数 219

评论数 0

111. Minimum Depth of Binary Tree

Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest l...

2017-02-22 12:24:41

阅读数 174

评论数 0

208. Implement Trie (Prefix Tree)--Trie树

Implement a trie with insert, search, and startsWith methods.Note: You may assume that all inputs are consist of lowercase letters a-z.我的解法如下:const i...

2017-02-22 11:08:30

阅读数 239

评论数 0

51. N-Queens/52. N-Queens II

八皇后问题参考这张图片: 51The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.Given an intege...

2017-02-22 00:15:36

阅读数 254

评论数 0

24. Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.For example, Given 1->2->3->4, you should return the list as 2->1-...

2017-02-21 17:40:33

阅读数 378

评论数 0

147. Insertion Sort List(插入排序)

Sort a linked list using insertion sort.单链表的插入排序:class Solution { public: ListNode* insertionSortList(ListNode* head) { ListNode* new_hea...

2017-02-21 16:52:51

阅读数 226

评论数 0

19. Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n ...

2017-02-21 16:06:21

阅读数 240

评论数 0

92. Reverse Linked List II(链表局部逆序**)

Reverse a linked list from position m to n. Do it in-place and in one-pass.For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4,ret...

2017-02-21 15:32:51

阅读数 289

评论数 0

83. Remove Duplicates from Sorted List

Given a sorted linked list, delete all duplicates such that each element appear only once.For example, Given 1->1->2, return 1->2. Given 1-&...

2017-02-21 10:41:50

阅读数 222

评论数 0

82. Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.For example, Given 1-&...

2017-02-20 23:45:01

阅读数 292

评论数 0

86. Partition List

Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the ...

2017-02-20 21:49:04

阅读数 196

评论数 0

148. Sort List(快排、归并)

Sort a linked list in O(n log n) time using constant space complexity.首先给出快排解法:class Solution { public: ListNode *sortList(ListNode *head) { ...

2017-02-20 20:34:33

阅读数 257

评论数 0

143. Reorder List(逆序一半再合成)

Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For...

2017-02-20 11:17:06

阅读数 321

评论数 0

epoll内核实现分析

注:之前写过两篇关于epoll实现的文章,但是感觉懂得了实现原理并不一定会使用,所以又决定写这一系列文章,希望能够对epoll有比较清楚的认识。是请大家转载务必注明出处,算是对我劳动成果的一点点尊重吧。另外,文中如果有不全面或者不正确的地方还请大家指出。也可以私信或者发邮件:lvyilong316...

2017-02-19 19:04:25

阅读数 1271

评论数 0

给自己的忠告

黄渭阳:你最大的毛病就是性子太急,不够稳重。你自己着急什么呢,慢下来,提高自己的能力,充实自己,请改掉这个不好的毛病。

2017-02-17 23:01:18

阅读数 494

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭