自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邓博学习笔记

合抱之木,生于毫末。

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

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

2018-04-02 15:23:40 1071 1

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

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

2018-04-01 15:42:34 859 0

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

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

2018-03-31 22:50:59 271 0

原创 TCP套接字编程核心API浅析

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

2018-03-25 11:22:25 634 0

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

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

2018-03-24 12:06:54 910 1

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

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

2018-03-22 23:04:52 225 0

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

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

2018-03-21 18:13:00 232 0

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

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

2018-03-21 10:06:05 344 0

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

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

2018-03-20 11:28:16 1506 1

原创 Linux nice及renice命令使用

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

2018-03-19 23:03:17 3437 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 4410 0

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

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

2018-03-17 17:22:08 307 0

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

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

2018-03-17 11:32:42 595 0

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

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

2018-03-15 22:06:53 306 0

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

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

2018-03-14 10:20:28 684 0

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

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

2018-03-13 16:51:52 562 0

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

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

2018-03-13 11:59:10 330 0

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

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

2018-03-11 22:52:17 334 0

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

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

2018-03-11 22:36:17 439 0

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

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

2018-03-11 19:57:42 2449 0

原创 内存管理笔记九、段页式内存管理

内存管理笔记九、段页式内存管理 引言:在前面几篇笔记中,我们介绍到内存管理的多种方式,包括单道编程下固定加载地址,多道编程下固定分区、非固定分区、分页式内存管理,这些是内存管理模式不断演进的过程,本篇笔记将介绍现今广泛使用的段页式内存管理模式。至此,内存管理模式的演进基本就结束了,后面关于内存管...

2018-03-10 11:08:12 469 0

原创 内存管理笔记八、页面置换算法

内存管理笔记八、页面更换算法 引言:在第七篇内存管理笔记,有介绍到分页的内存管理。其克服了外部碎片、程序不能大于物理内存等缺点。本篇笔记将简单介绍常见的页面更换算法思想。 内存管理笔记八、页面更换算法 一、页面需更换的原因 二、页面更换期待达到的目标 三、常见算法的思想 3.1、随...

2018-03-09 16:40:29 235 0

原创 内存管理笔记七、页式内存管理

内存管理笔记七、页式内存管理 引言:内存管理就是要将各种媒介组建成一体,形成一个巨无霸似的虚拟存储系统。第六篇笔记,介绍了非固定分区内存管理方式,本篇笔记将分析其存在的问题,并就此引出页式内存管理。 内存管理笔记七、页式内存管理 一、Swap交换存在的问题 1.1、大量的外部碎片 ...

2018-03-09 11:53:53 307 0

原创 内存管理笔记六、非固定分区的内存管理

内存管理笔记六、非固定分区的内存管理 引言:第五篇笔记,介绍了固定分区的内存管理方式。本篇笔记将介绍非固定分区的内存管理。 内存管理笔记六、非固定分区的内存管理 一、非固定分区的内存管理 1.1、产生由来—对固定分区的改进 1.2、核心思想–按需分配 1.3、加载实例 1.4、存在...

2018-03-08 16:38:38 194 0

原创 内存管理笔记五、固定分区的内存管理

内存管理笔记五、固定分区的多道编程 引言:多道编程可以克服单道编程的缺点,提高CPU和内存的利用效率,改善用户的响应时间。本文将介绍多道编程下固定分区的内存管理。后续文章会介绍非固定分区、分页、分段、段页式管理方式。 内存管理笔记五、固定分区的多道编程 一、固定分区的加载方式 1....

2018-03-08 15:48:55 596 0

原创 内存管理笔记四、虚拟内存概念的引入

内存管理笔记四、虚拟内存概念的引入 引言:虚拟内存是实际存储架构与程序员对内存要求之间的一座桥梁,是操作系统为用户提供的一种“幻象”,其构建在内存架构的顶端,给用户提供一个比物理主存空间大许多的地址空间。 一、产生背景 1.1、程序员对内存的要求   计算机的一个基本功能是计算,其...

2018-03-08 12:13:00 280 0

原创 Linux cat命令使用

Linux cat命令使用 摘要: cat命令用以将文件、标准输入内容打印至标准输出。常用于显示文件内容、创建文件、向文件中追加内容。本文第一部分介绍cat用以打印文件内容的格式及参数(源自linux man手册)、第二部分展示cat创建文件、追加内容等用法。 一、cat命令及常用参数 ...

2018-01-30 13:24:14 11562 0

原创 Linux free命令使用

Linux free命令使用 摘要: free命令用以显示当前系统内存使用情况,其数据取自/proc/meminfo文件。本文第一部分为free命令及参数(源自linux man手册)、第二部分展示常见命令free -m各字段含义,第三部分解释free命令数据来源。 一、free命令及相...

2018-01-30 10:42:59 6583 0

原创 进程管理笔记二、进程调度概念及基本策略

进程调度概念及基本策略 引言:多进程并发是逻辑并发,在单个CPU上,实际上任意时刻只能有一个进程处于执行状态,而其它进程处于非执行状态。那么进程是如何调度的呢?本篇笔记将依次介绍进程调度概念、调度目标、调度算法、算法评估。下一篇笔记将重点介绍CFS调度算法。 进程调度概念及基本策略 一、...

2018-01-27 17:34:31 917 0

原创 网络层笔记八、IP数据报的格式

网络层笔记八、IP数据报的格式 引言:了解IP数据报的格式,可以帮助我们理解IP协议具有的功能。 一、IP数据报的概貌   完整的IP数据报由首部和数据两部分组成。首部第一部分20字节,是所有IP数据报必须具有的;首部第二部分是可选字段,其长度是可变的。其各字段如图1所示: 图...

2018-01-26 22:29:19 411 0

原创 网络层笔记七、地址解析协议ARP

网络层笔记七、地址解析协议ARP 引言:在上一篇笔记中,我们介绍了硬件地址与IP地址的关系,以理解数据在协议栈的流动。本篇笔记将介绍地址解析协议ARP(IP地址->硬件地址),介绍其产生由来、实现原理、常用情景。 一、地址解析协议ARP需求   在上一篇笔记中,我们介绍...

2018-01-26 10:10:40 223 0

原创 网络层笔记六、硬件地址与IP地址

网络层笔记六、硬件地址与IP地址 引言:前面三篇笔记中,我们介绍了IP地址的三种编址方式,依次是分类的IP编址、划分子网(改进分类编址)及无分类IP地址。本篇笔记我们将介绍硬件地址与IP地址的关系,真正理解“虚拟互连”的含义。 一、IP地址与硬件地址 1.1、使用层次不同   在学...

2018-01-25 16:24:49 665 0

原创 网络层笔记五、无分类编址CIDR(构成超网)

网络层笔记五、无分类编址CIDR(构成超网) 引言:本篇将介绍无分类编址CIDR的概念、最长前缀匹配、使用二叉线索查找路由表。读完本篇笔记,读者可以了解无分类编址方式提高网络利用率的原理?它的实现方式是什么? 一、CIDR(Classless Inter-Domain Routing)...

2018-01-23 16:59:55 1792 0

原创 文件系统笔记五、文件系统引入

文件系统笔记五、文件系统引入 引言:在前面四篇笔记中,我们介绍了磁盘的物理结构、磁盘驱动器访问速度、磁盘块及磁盘调度算法。对于一般用户来说,使用磁盘是非常困难的,他们不知道如何驱动一个磁盘,如何计算数据在磁盘的存放位置。操作系统提供给用户的帮助就是在磁盘外面包裹一层容易使用的抽象,用户直接与这层...

2018-01-22 17:10:22 262 0

原创 网络层笔记四、划分子网

网络层笔记四、划分子网 引言:上一篇笔记中,有写到最基本的IP地址编址方式——分类IP。第四篇笔记将介绍其存在的弊端,改进思路(划分子网),最后介绍子网掩码如何实现子网划分。 网络层笔记四、划分子网 一、分类IP地址编址方式的弊端 二、划分子网的基本思路 三、子网划分的实现—子网掩码 ...

2018-01-20 23:28:56 877 0

原创 网络层笔记三、分类的IP地址

网络层笔记三、分类的IP地址 引言:我们把整个因特网看成是一个单一的,抽象的网络。IP地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符。IP地址的编址方法共经历了分类、改进分类、无分类三个历史阶段,本文将介绍基础的分类编址方式,以辅助后面第四、第五...

2018-01-19 13:40:36 447 0

原创 内存管理笔记三、单道编程的内存管理

内存管理笔记三、单道编程的内存管理 引言:最简单的内存管理是单道程序下的内存管理。 内存管理笔记三、单道编程的内存管理 1、基本概念 2、地址独立与地址保护实现 3、固定地址的内存管理优缺点 1、基本概念   在单道编程环境下,整个内存里面只有两个程序:...

2018-01-18 16:39:44 314 0

原创 网络层笔记二、虚拟互连网络概念

网络层笔记二、虚拟互连网络 网络层笔记二、虚拟互连网络 1、现实问题 2、网络互连的中间设备 3、TCP/IP虚拟互连方式 4、一个实际例子 引言:由于不同物理网络的异构性,存定了各自寻址方式、网络接入机制等存在差异性。如果要把全世界范围内数以百万计的网络都互联都互...

2018-01-18 11:39:09 2060 1

原创 网络层笔记一、网络层提供服务的方式

网络层笔记一、网络层提供服务的方式 引言:在计算机网络领域。网络层应该向传输层提供怎样的服务(“面向连接”还是“无连接的”)曾引起长期的争论。争论的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 网络层笔记一网络层提供服务的方式 1网络层提供可靠交付虚电路服务 2...

2018-01-15 11:02:06 799 0

原创 内存管理笔记二、操作系统在内存中的位置

内存管理笔记二、操作系统在内存中的位置 引言:从根本上说,计算机里面运转的程序有两种:管理计算机的程序和使用计算机的程序。而操作系统就是管理计算机的程序,其本身也需要使用资源,需要占用内存。那我们如何将内存空间在操作系统和用户程序之间进行分配呢?或者说,应该将哪一部分内存空间用来存放操作系统呢?...

2018-01-13 15:06:38 1363 0

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