邓博学习笔记

合抱之木,生于毫末。

linux进程通信———Posix消息队列简介及基础库函数

linux进程通信———Posix消息队列简介及基础库函数 引言:消息队列可认为是一个消息链表,有足够写权限的线程可向队列中放置消息,有足够读权限的线程可从队列中取走消息。本篇笔记将简要介绍Posix消息队列特性、基本库函数调用。 linux进程通信———Posix消息队列简介及基础...

2018-04-02 15:23:40

阅读数 187

评论数 1

linux进程通信———有名管道FIFO

linux进程通信———有名管道FIFO 引言:无名管道的一个重大限制是它没有名字,通信范围限定在具有血缘关系的进程间。有名管道以FIFO文件形式存在于文件系统中。这样即使与FIFO创建进程不存在血缘关系的进程,只要访问该路径,就能够通过FIFO通信。本篇笔记包括FIFO介绍、代码实例、内核实现...

2018-04-01 15:42:34

阅读数 113

评论数 0

linux进程通信———无名管道

linux进程通信———无名管道 引言:打算认认真真实践一下进程间通信的几种方式,本篇笔记介绍了管道局限性、创建方式、代码实例、内核实现。建议感兴趣的同学,以书籍为主,建立系统知识,书本远远比博客深邃。 一、无名管道简介 1.1、局限性:   管道是最初的unix IPC(in...

2018-03-31 22:50:59

阅读数 85

评论数 0

TCP套接字编程核心API浅析

TCP套接字编程核心API浅析 引言:学习了计算机网络基础协议,是不是跃跃欲试,那开始计算机网络编程之旅吧。本篇笔记介绍了TCP客户端与服务器通信使用的底层API,并分析了其与TCP三次握手,四次挥手的关联,希望对大家有所帮助。 TCP套接字编程核心API浅析 一、TCP编程核心AP...

2018-03-25 11:22:25

阅读数 281

评论数 0

Socket编程中常见的数据结构及转换函数

Socket编程中常见的数据结构及转换函数 引言:本篇笔记第一部分介绍socket套接字编程中常见的数据结构,第二部分介绍网络字节顺序、主机与网络字节顺序转换函数、IP地址转换函数。 一、Socket编程中常见的网络数据结构   下面介绍到的函数,都定义在netinet/in.h中,在u...

2018-03-24 12:06:54

阅读数 312

评论数 2

技术往事:改变世界的TCP/IP协议(转载)

原文地址:http://www.52im.net/thread-520-1-1.html1、前言作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难说的清楚。本...

2018-03-22 23:04:52

阅读数 76

评论数 0

电脑僵死的排查过程——鼠标作祟

电脑僵死的排查过程——鼠标作祟 引言:这是一个电脑僵死的排查过程,虽然题目有夸大之嫌,哈哈。 1、故事背景   今天早上在实验室,正在看经典的C10K问题,可以传送过去高性能网络编程(二):上一个10年,著名的C10K并发连接问题 ,发现很多有趣的话题,比如解释QQ为什么前期使用...

2018-03-21 18:13:00

阅读数 101

评论数 0

linux下进程的进程最大数、最大线程数、进程打开的文件数和ulimit命令修改硬件资源限制(转载)

原文排版整洁美观,转载会丢失信息: http://blog.csdn.net/gatieme/article/details/51058797一、ulimit命令查看和更改系统限制ulimit命令详解ulimit用于shell启动进程所占用的资源,可以用来设置系统的限制语法格式ulimit [-a...

2018-03-21 10:06:05

阅读数 99

评论数 0

进程管理笔记三、完全公平调度算法CFS

进程管理笔记三、CFS调度算法 引言:CFS是英文Completely Fair Scheduler的缩写,即完全公平调度器,负责进程调度。在Linux Kernel 2.6.23之后采用,它负责将CPU资源,分配给正在执行的进程,目标在于最大化程式互动效能,最小化整体CPU的运用。使用红黑...

2018-03-20 11:28:16

阅读数 266

评论数 2

Linux nice及renice命令使用

Linux nice及renice命令使用 引言: linux内核是一个了不起的马戏表演者,它在进程和系统资源之间小心地玩着杂耍,并保持系统的正常运转。同时,内核也很公平,它将资源公平地分配给各个进程。但是,如果用户需要给一个重要进程提高优先级、或是降低优先级,该怎么办呢?答案是需要由用户来为内...

2018-03-19 23:03:17

阅读数 535

评论数 0

echo N>/proc/sys/vm/drop_caches清理缓存

echo N>/proc/sys/vm/drop_caches清理缓存 引言:在内核窗口—proc文件系统这篇笔记中,我们介绍了/proc主要体现进程及内核信息状态。与/proc下其它文件的“只读”属性不同的是,管理员可对/proc/sys子目录的许多文件内容进行修改,以更...

2018-03-19 10:25:15

阅读数 999

评论数 0

内核窗口---proc文件系统

内核窗口—proc文件系统 引言:在写进程调度笔记时,我特别好奇,想了解一下ubuntu 14.04到底采取的是什么调度策略,于是接触到proc文件系统,它内部包含很多内核数据信息。这里并不会分析每一个文件、每一条数据的含义。仅仅是介绍Proc文件系统产生背景,常见文件含义。以后遇到相关问题时,...

2018-03-17 17:22:08

阅读数 84

评论数 0

进程管理笔记一、进程的概念及其产生的背景

进程管理笔记一、进程的概念及其产生的背景 引言:计算机的根本特征是其本身为人造学科。进程从根本上说,是操作系统对CPU进行的抽象和装扮。关于进程的系列笔记,会由进程产生背景讲起,本篇是我们故事的起源。 进程管理笔记一、进程的概念及其产生的背景 一、进程产生的背景 1.1、单道处理系统...

2018-03-17 11:32:42

阅读数 124

评论数 0

文件系统笔记九、Ext2文件系统布局及核心数据结构

文件系统笔记九、Ext2文件系统布局及核心数据结构 引言:在之前的笔记中,我们依次介绍了磁盘的物理结构、文件系统设计需要考量的因素、文件系统性能及保障机制。这些是对文件系统泛泛的介绍,这篇笔记我们将简单剖析Ext2文件系统,重点介绍其系统布局及核心数据结构。 文件系统笔记九、Ext...

2018-03-15 22:06:53

阅读数 96

评论数 0

文件系统笔记八、文件系统的性能

文件系统笔记八、文件系统的性能 引言:在之前的两篇笔记文件系统笔记六、文件系统布局及数据存储、文件系统笔记七、文件目录、属性、共享、挂载的实现方式,介绍了设计一个文件系统需要考量的因素及相关实现。本篇笔记将介绍文件系统的性能及其保障机制。 文件系统笔记八、文件系统的性能 一、访问控...

2018-03-14 10:20:28

阅读数 177

评论数 0

文件系统笔记七、文件目录、属性、共享、挂载的实现方式

文件系统笔记七、文件目录、属性、共享、挂载的实现方式 引言:在上一篇笔记中,主要讲了文件系统布局及数据存储,这一篇笔记将记录一些相对边缘的问题,比如文件夹如何完成由文件名至文件地址的映射、文件属性的实现、长文件名如何实现、文件是如何共享的、文件系统挂载实现。这些是设计文件系统均需考虑的问题,本篇...

2018-03-13 16:51:52

阅读数 128

评论数 0

文件系统笔记六、文件系统布局及数据存储

文件系统笔记六、文件系统布局及数据存储 引言:对于一般用户来说,直接驱动磁盘存取数据位置是极其困难的。操作系统为磁盘外面包裹一层易于使用的抽象,即为文件系统。用户直接与文件系统打交道,无需了解磁盘的技术细节。在本篇及之后的笔记中,我们会介绍文件系统的设计,即如何让完成磁盘物理特性与用户界面的连接...

2018-03-13 11:59:10

阅读数 123

评论数 0

内存管理笔记十二、内存管理三张大图

内存管理笔记十二、内存管理大图 引言:学习没有止境,学习内存管理也是这样,现在勉强算是了解大体框架,对c语言与指针多了一些理解。当然还有许多知识待填充,如slab如何解决内存碎片、vmalloc、kmalloc与malloc的区别、高端内存非线性映射实现等等。这里先暂时告一段落,复习一下进程/线...

2018-03-11 22:52:17

阅读数 98

评论数 0

内存管理笔记十一、CPU三级缓存、冷热页及自旋锁概念

内存管理笔记十一、CPU三级缓存、冷热页及自旋锁概念 引言:在上一篇笔记中,介绍了buddy 伙伴系统其适用于大内存的物理地址分配,在查阅相关资料的过程中,看到了冷热页,进而接触到CPU三级缓存和自旋锁的概念。这里仅对其概念做一个简单的记录。 一、CPU的三级缓存 1.1、缓存简...

2018-03-11 22:36:17

阅读数 104

评论数 0

内存管理笔记十、buddy伙伴系统

内存管理笔记十、buddy伙伴系统 引言:上一篇笔记中,我们介绍了段页式的内存管理方式其不仅获得分段和分页的好处,又规避了单纯分段和分页的缺陷。这看似是一个完美的解决方案。但每次申请内存,均要完成虚拟地址至物理地址的映射、要改写内核的页表项、刷新TLB,以页为单位降低了内存分配速度。因此linu...

2018-03-11 19:57:42

阅读数 243

评论数 0

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