![](https://img-blog.csdnimg.cn/20190830202200619.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
理论学习
文章平均质量分 88
zebra_zzh
博客中涉及到的代码请移步我的Github主页下载
https://github.com/ZhangZhiHao233/
展开
-
操作系统学习笔记(八)
设备管理:I/O系统:用于实现数据输入、输出及数据存储的系统。 1 I/O设备I/O设备的类型,可按设备使用特性、数据传输速率、设备共享属性等:按设备使用特性分类:一:存储设备,外存或后备存储器、辅助存储器。二:输入、输出设备,如鼠标键盘扫描仪数字显示设备等。按传输速率分类:一:低速设备,如键盘,鼠标器,语音,二:中速设备,如行式打印机,激光打印机,三,高速设备,如...原创 2017-06-10 16:05:02 · 863 阅读 · 0 评论 -
操作系统学习笔记(二)
2.1进程的基本概念进程的的三种基本状态:就绪状态,执行状态,阻塞状态。就绪状态:进程已经获得了所需的资源,只要得到了CPU就可以立即执行,通常情况下系统中会有多个就绪进程,处在就绪队列。执行状态:进程已经获得CPU,正处在执行状态。阻塞状态:正在执行的进程由于发生某事而无法继续执行,便放弃处理机而处于暂停的状态。三状态转换图。挂起状态:因某些需要,需要经一些进程挂起而不接受调度。...原创 2017-04-17 12:35:18 · 589 阅读 · 0 评论 -
操作系统学习笔记(三)
经典进程同步问题 1 生产者-消费者问题生产者-消费者问题是相互合作的进程关系的一种抽象,比如输入时,输入进程是生产者,计算进程是消费者,输出时,计算进程是生产者,打印进程是消费者。解决方案一:用记录型信号量解决假设生产者消费者之间有一共用缓冲池,具有n个缓冲区,利用互斥信号量mutex实现诸进程对缓冲池的互斥作用。empty表示空缓冲池数,full表示满缓冲池数。则可描述为:...原创 2017-04-17 20:33:59 · 2358 阅读 · 0 评论 -
操作系统学习笔记(四)
进程间通信定义:进程通信,是指进程之间的信息交换,其所交换的信息量少者是一个状态或数值,多者则是成千上万个字节。前面所讲的信号量机制作为同步工具是卓有成效的,但作为通信工具则不够理想,因为其效率低,对用户不够透明。属于低级通信工具。下面介绍高级通信工具,用户可以直接利用操作系统所提供的一组通信命令高效的传达大量数据。 进程通信的类型:高级通信机制分为三大类:共享存储器系统、...原创 2017-04-17 22:15:46 · 799 阅读 · 0 评论 -
操作系统学习笔记(五)
处理机调度 3.1 处理机调度的层次3.11 高级调度又称为“作业调度”或“长程调度”,将外存中位于后备队列中的那些作业调入内存。作业(Job):它不仅包含了通常的程序和数据而且还应配有一份作业说明书,系统根据作业说明书对程序进行运行控制,在批处理系统中,以作业为基本单位从外存调入内存。作业步(Job Step):一个典型作业分为三个作业步:编译,连接装配,运行作业控制块:...原创 2017-04-19 21:35:39 · 862 阅读 · 0 评论 -
操作系统学习笔记(六)
处理机死锁(Deadlock) 3.5 产生死锁的原因和必要条件 3.51 产生死锁的原因(1)竞争资源。当系统中供多个进程的资源数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。 1 系统中资源可分为两类,一是可剥夺资源,即某进程在获得这类资源后,该资源偶又可以被其他资源或系统剥夺。二是不可剥夺资源,系统分配给某进程后,再不能强行回收,只能等他用完自...原创 2017-04-20 10:12:38 · 699 阅读 · 0 评论 -
算法和算法分析概念
1 算法及其性能标准算法是求解一类问题的任意一种特殊的方法,较严格的来说,是对特定问题的求解步骤的一种描述,它是指令的有限序列。算法的五个特征:输入、输出、确定性、能行性、有穷性衡量一个算法的性能,主要有以下标准:正确性,简明性,健壮性,效率。 2 算法的时间复杂度判断算法的性能要考虑的一个基本特征就是问题实例的规模,规模一般是输入量(有时也涉及输出量)。算法的事前分析:在排除...原创 2017-04-21 15:15:13 · 964 阅读 · 0 评论 -
typedef的作用
typedef的作用:1)用typedef简化指向多维数组的指针的定义(C++primer P124)2)用typedef简化函数指针的定义(C++primer P237)3) 用typedef简化复杂类型的定义,如pair类型和map的value_type(C++primer P307,P313)下面转自http://book.douban.com/annota...转载 2017-04-21 16:03:34 · 2306 阅读 · 1 评论 -
数组与链表
结构体与指针#include "stdafx.h"#define IS_FULL(p) (!p)/*struct node{ int Date; struct node* Link; //自引用结构,即结构中有一个或多个成员是指向它自身的指针};*///typedef struct node* Nodeptr; 定义一个新的类型typedef struct nod...原创 2017-04-21 21:00:03 · 213 阅读 · 0 评论 -
队列与堆栈
两个线性数据结构:堆栈(stack)和队列(queue)。堆栈中元素具有后进先出LIFO(Last-In-Fisrt-Out),而队列中的元素确实先进先出FIFO(Fisrt-In-Last-Out)。堆栈:堆栈的顺序表示:#define MaxSize 50#define FALSE 0#define TRUE 1typedef int BOOL;typedef in...原创 2017-04-22 18:24:09 · 410 阅读 · 0 评论 -
线性表
线性表线性表是一种动态数据结构,它的表长可以变化,并允许在任何位置插入和删除元素。线性表的顺序实现结构定义:typedef struct list{ int Size,MaxList;//线性表长度、允许最大长度 T Element[MaxSize];//存放线性表中数据}List;线性顺序表的插入:若要在位置pos处插入元素值为x的函数,当前表长为n。则必须将下标位...原创 2017-04-24 13:06:30 · 258 阅读 · 0 评论 -
线性表实现之多项式
多项式ADT:设一元整系数多项式:每一项多项式的形式是coef*x^exp,coef为该项的系数,exp是变元x的指数。我们将一个多项式看成是一个线性表,线性表的元素就是多项式的项,下面采用一种带表头的单循环链表表示多项式。多项式的项是系数coef和指数exp的偶对,这样多项式的项可表示为Term=<coef,exp>typedef struct term{ int...原创 2017-04-24 22:06:49 · 1487 阅读 · 0 评论 -
操作系统学习笔记(七)
存储器管理存储器的层次结构对于通用计算机,存储层次至少具有三级:CPU寄存器,主存,辅存。较高档的计算机有细分为六层:寄存器,高速缓存,主存,磁盘缓存,磁盘。可移动存储介质。层次越高访问速度越快,价格越昂贵。主存储器,简称内存或主存,用于保存进程运行时的数据,也成为可执行存储器。CPU控制部件只能从主存储器中获得指令和数据,然后将他们装入内存。或者从寄存器存入主存。寄存器,访问速度很...原创 2017-04-26 21:23:04 · 1843 阅读 · 0 评论 -
矩阵(一)
特殊矩阵对称矩阵 三角矩阵:假设数组b用来存储矩阵的元素,则矩阵元素的下标(i,j)与该元素在数组b中的存储位置k之间有如下关系:稀疏矩阵包含大量零元素的矩阵称为稀疏矩阵,其经常出现在以下领域:大规模集成电路设计、电力输配系统、图像处理、城市规划等。对此可只存储非零元素,对这些非零元素可采取顺序或链接的方式存储。稀疏矩阵的顺序表示:三元组表示法矩阵的元素aij...原创 2017-05-06 16:35:28 · 680 阅读 · 0 评论 -
操作系统学习笔记(一)
操作系统的定义:操作系统(OS,Operateing System)是配置在计算机硬件上的第一层软件。 操作系统的目标:1 有效性:(1)提高系统资源利用率(2)提高系统吞吐量2 方便性:使计算机更容易使用3 可扩充性4 开放性操作系统的作用:OS作为用户与计算机硬件之间的接口以及计算机系统资源的管理者,且实现了对计算机资源的抽象。它是铺设在计算机硬件上的多层系统软件。...原创 2017-04-16 16:58:51 · 819 阅读 · 0 评论