![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机基础知识
文章平均质量分 71
记录计算机组成原理,操作系统,编译原理,计算机网络等计算机相关的基础知识。
芒果和小猫
图形图像工程师
展开
-
生产者消费者
操作系统的经典问题生产者和消费者问题的编程,使用语言为C++,这是操作系统实验课上的编程,拿出来和大家分享,不足之处还望指出,谢谢。// 生产者消费者#include#include#includeusing namespace std;struct Product//生产的产品{ int id;//产品的id int bufferPos;//产品所在的缓冲池的位置};原创 2017-07-01 10:50:42 · 325 阅读 · 0 评论 -
物理地址和逻辑地址
1、物理地址内存的结构:由若干存储单元组成,以字节为单位。 存储最小单位:“二进制位”,包含信息为0或1 最小编址单位:字节,一个字节包含八个二进制位 内存地址:为了便于CPU访问,给每个存储单元一个编号(第一个字节的地址是0,后面依次 是1、2、3,等等),也称为物理地址或绝对地址。内存地址是无符号整数,用16进制来表示 内存地址空间(存储空间):内存地址的集合,也称物理空间,...原创 2018-04-08 16:42:19 · 3236 阅读 · 0 评论 -
程序的装入和链接
在网上看到一篇不错的文章,收藏一下 https://blog.csdn.net/yu132563/article/details/51564785转载 2018-04-04 10:17:41 · 685 阅读 · 0 评论 -
字节对齐
转载自 https://blog.csdn.net/qq_25077833/article/details/53454958概念在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按...转载 2018-04-03 10:31:07 · 103 阅读 · 0 评论 -
[操作系统基础]死锁的基本概念
1、问题的产生在多道程序系统中,由于多个进程的并发执行,改善了系统资源的利用率并提高了系统的处理能力,然而,多个进程的并发执行也带来了新的问题—–死锁。 在单道程序中并不存在这样的问题,因为系统中的程序可以独占所有资源,而在多道程序会共享一些资源,这样就产生了竞争关系,例如P1先使用A资源,后继续使用B资源P2先使用B资源,后继续使用A资源结果P1占用了A,P2占用了B,它们继...原创 2018-04-10 21:45:18 · 372 阅读 · 1 评论 -
[操作系统基础]死锁的预防和避免
1、死锁的预防1.1、破坏互斥条件(不可行)即允许多个进程同时访问资源。但由于资源本身固有特性限制,有的资源根本不能同时访问,只能互斥访问,所以不可能用破坏互斥条件来预防死锁。1.2、破坏请求和保持条件可采用预先静态分配方法,即要求进程在运行之前一次申请它所需要的全部资源,在它的资源未满足前,不把它投入运行。一旦运行后,这些资源全归其占有,同时它也不再提出其它资源要求,这样可以...原创 2018-04-11 10:09:18 · 1734 阅读 · 0 评论 -
[计算机组成原理]数值型数据的表示方法
1.进位计数制1.1 数制的基与权在任意数制中,每个数位上允许使用的记数符号的个数被称为该数制的基数。每1位都对应1个表示该位在数码中的位置的值,这个值就称为数位的权值w1.2常用进制及转换计算机中常用的进制2进制8进制16进制1.2.1 10进制和任意进制的相互转换10进制转成任意进制的方法,例如要转成的进制为x,则方法为除x取余法例如:10进制转为2进制,为除2取余...原创 2018-11-20 17:07:39 · 3864 阅读 · 0 评论 -
[汇编语言]变量的定义
1. 什么是变量(Variable)变量可以随着程序的运行发生变化的量,保存在主存空间中,变量需要事先定义才能使用,变量本质上就是主存单元里的数据,主存是可读可写的,所以变量可以发生改变。变量有别于常量,常量是写在指令里的,不占主存空间。2. 变量定义的格式变量名 伪指令助记符 变量初值表变量名:变量名是用户标识符,用户定义的,本质上是首元素的逻辑地址,有了变量名后,在其后的程序中就可以...原创 2018-11-24 19:20:29 · 23652 阅读 · 1 评论 -
[计算机组成原理]在C语言中将float(浮点数)的二进制表示打印出来
1、为什么要打印浮点数的二进制表示在学习的计算机体系结构的时候,肯定会遇到数制的表示问题,其中最常见的就是定点数和浮点数的表示问题,定点数的表示很简单,有很多资料,浮点数的表示也不难,只是稍稍复杂,网上和书本中也有很多资料,这里再简单提一下IEEE-754标准的浮点数。sign(符号)exponent(阶码)mantissa(尾数)01000 01011001 000...原创 2018-11-15 22:14:25 · 13319 阅读 · 8 评论 -
[汇编语言]常量的表达
1. 什么是常量(Constant)?常量是程序中使用的一个确定数值,在汇编阶段就可以确定,直接编码于指令代码中,不是保存在存储器中可变的变量,常量不占用存储器空间!因为是编码在指令中的量,所以也就没法动态改变它了,这也正是高级语言常量无法修改的原因。2. 汇编语言支持的常量表达形式常数,直接给出数值本身字符和字符串,使用ASCII码的值符号常量,用标识符替代数值数值表达式,经过运算...原创 2018-11-24 17:55:58 · 4456 阅读 · 0 评论 -
[汇编语言]数据寻址方式
1. 指令的构成操作码:代表处理器要执行何种操作,不可缺少,用助记符来表示。操作数:指令执行的 参与者,是各种操作的对象,通过地址指示。2. 寻址在执行指令的过程中,要访问所需要的数据,而这个数据可以来自不同的地方,也就是有不同的寻址方式。存储器寻址,数据来自主存储器,数据在主存中,用存储器地址代表立即数寻址,数据已经保存在指令代码中,数据在指令代码中,用常量表达寄存器寻址,数...原创 2018-11-25 19:16:41 · 668 阅读 · 0 评论 -
[汇编语言]立即数寻址和寄存器寻址
1. 什么是立即数?操作数从指令代码中得到,即立即数(Immediate),也可以说就是指令的一部分了,例如:MOV EAX 33221100H;机器代码为 B8 00 11 22 33;操作码为 B8;立即数为 33221100操作码(操作数)立即数B8332211002. 立即数寻址数据已经保存在指令代码中→立即数寻址,立即数寻址方式只用于源操作...原创 2018-11-25 19:41:45 · 10933 阅读 · 0 评论