- 博客(13)
- 资源 (5)
- 收藏
- 关注
原创 深入Linux内核架构读书笔记(1)--简介和概述
版本选择2.6.24从不同视角看内核任务从应用程序视角来看,内核是一台增强的计算机;从并发角度看,内核是资源管理程序;从内核研究角度看,内核就是一个库;微内核/宏内核:微内核:需要支持复杂的进程间通信,需要额外CPU时间,进展甚微;宏内核:性能优于微内核,支持热插拔,为目前linux实现方式;内核组成:fork: 写时复制(copy on write)写入之前,共用同一页;
2016-10-20 16:10:21
2217
原创 Python查漏补缺
Python3和Python2区别:python3 不再支持字典的大小比较;字典的has_key已死,in永生power :例如:2 ** 3 = 8repr和str : repr对象代码形式, str用户友好形式repitition: s = 'Spam' ; s * 8 = 'SpamSpamSpamSpamSpamSpamSpamSpam'不可变性:数字、字符和原
2016-10-20 14:13:59
422
原创 ZFS学习笔记
ZFS文件系统:一种革新性的新文件系统,可从根本上改变文件系统的管理方式,并具有目前面市的其他任何文件系统没有的功能和有点。ZFS强健可靠、可伸缩、易于管理;ZFS存储池:ZFS可完全避免使用卷管理,ZFS将设备聚集到存储池中,而不是强制要求创建虚拟卷;ZFS事物性语义:ZFS是事务性文件系统,文件系统状态在磁盘上始终一致;校验:所有数据和元数据都通过用户可选择的校验和算法进行验证;
2016-10-09 14:34:36
1585
原创 操作系统(8)--并发性学习笔记
关键术语原子操作:一个或多个指令的序列,对外是不可分的;临界区:一段代码,在这段代码中进程将访问共享资源,一个进程在这段代码中执行,另一个进程就不能再这段代码中执行;死锁:两个或两个以上的进程因其中的每个进程都在等待其他进程做完某些事情而不能继续执行,这样的情形叫做死锁;活锁:两个或两个以上的进程为了响应其他进程中的变化而持续不断改变自己的状态但不做有用的工作,这样的情形叫做活锁;互斥
2016-10-08 10:56:50
496
原创 操作系统(7)--进程、线程基本概念
进程的状态运行态:进程在内存中并可以执行;就绪态:进程做好了准备,只要有机会就开始执行;就绪/挂起态:进程在外存中,但是只要被载入内存就可以执行;阻塞态:进程在内存中并等待一个事件;阻塞/挂起态:进程在外存中并等待一个事件;新建态:刚刚穿件的进程,操作系统还没有把 它加入到可执行进程组中;退出态:操作系统从可执行进程组中释放出的进程,或者因为它自身停止了,或者是某种原因被取消
2016-10-03 22:54:25
463
原创 操作系统(6)--IO管理和磁盘调度学习笔记
执行IO的三种技术:可编程IO:处理器代表一个进程给IO模块发送IO命令,该进程进入忙等待,直到操作完成才可以继续执行;中断驱动IO:处理器代表进程给IO模块发送IO命令,有两种可能性:如果来自进程IO指令是非阻塞的,那么处理器继续执行发出后续指令,如果IO指令是阻塞的,那么处理器执行得下一条指令则来自操作系统,她将当前的进程设置为阻塞状态并且调度其他进程;直接存储器访问(DMA):一
2016-09-29 19:12:14
2349
原创 操作系统(5)--文件系统学习笔记
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。主要文件系统有Ext,FAT,NTFS,ZFS等文件管理的要素磁盘基础知识磁道(Track):磁盘上划分了很多个同心圆,这些同心圆就是磁道。但
2016-09-29 14:21:59
975
1
原创 操作系统--调度学习笔记(4)--多处理器和实时调度
多处理器系统可以分为以下几类:松耦合、分布式多处理器、集群;专门功能的处理器,例如I/O处理器;紧耦合多处理:有一系列共享同一个内存并在操作系统完全控制下的处理器组成,我们这里要讨论的就是这种处理器;
2016-09-25 18:23:30
1566
原创 操作系统--调度学习笔记(3)--单处理器调度
典型的调度类型分为长程调度、中程调度、短程调度和IO调度。长程调度——决定是否把进程添加到当前活跃的进程集合中中程调度——交换功能的一部分,决定是否把进程添加到那些知道部分在内存中,并且可以被执行的进程集合中短程调度——真正决定下一次执行哪一个就绪进程I/O调度——决定哪一个进程挂起的I/O请求江北可用的IO设备处理他们的关系如下:长程调度:在批处理操作
2016-09-25 16:35:42
739
原创 操作系统--内存学习笔记(2)进程内存管理--虚拟内存
虚拟内存(virtual memory) = CPU + MMU(Memory Management Unit), MMU是一个CPU上的元器件,它将物理地址映射为虚拟地址,这样CPU可以之别虚拟地址,而不是实际物理地址了。使用MMU的好处有1、同一个虚拟地址可以指向不同的物理地址;2、线程之间共享内存变得简单;当处理器需要访问一块不在内存中的数据数,会产生一个终端,进程处于阻塞状态,
2016-09-19 16:41:03
1220
原创 操作系统--内存学习笔记(1)进程内存管理--内存的分布
进程中内存的分布进程的地址空间由可寻址的虚拟内存组成,虚拟内存技术的实现方法在以后解释。地址由低到高依次是文本段--> 数据和BBS段-->heap-->stack文本段:代码段是用来存放可执行文件的操作指令,也就是说是它是可执行程序在内存中的镜像只允许读操作,不允许写;数据段: 数据段用来存放可执行文件中已初始化全局变量,换句话说就是存放程序静态分配的变量和全局变量;通过u
2016-09-18 23:28:02
754
原创 ZMQ Guid学习笔记(2)--高阶模式
本文主要记录Zmq模式的高阶使用方法,涉及到的模式尽量通用,因此有些模式没有必要描述。Pub-Sub Network with a Proxy这里为什么要用XSUB和XPUB呢?XSUB和SUB完全一样,只是会受到订阅的本身,而XPUB和PUB也一样,只是会转发订阅的消息。为什么会有这个不同呢?哈哈,因为下游的SUB也需要订阅消息吧^^Extended Pu
2016-08-22 09:38:21
536
原创 ZMQ Guide学习笔记(1)--模式简介
ZeroMQ,也可以叫做zmq,0mq或者ØMQ,是时下流行的一种轻量级消息队列方式。相较于kafka等需要中间件的消息队列而言而言,zmq更快,更轻,你只需要几十行甚至更少的代码就能实现消息类型的切换。常用的ZMQ模式有Request-Reply, Pub-Sub,Push-Pull等。如果你的需要快速的实现一个简单系统,那么相信zmq是一个不错的选择。Reuest-Reply
2016-08-14 18:43:01
1195
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人