编译原理/操作系统/组成原理
文章平均质量分 79
本人学习编译原理/操作系统/组成原理笔记
燕双嘤
程序辅导,毕业设计,课程作业,比赛代打等,17724838277
展开
-
组成原理:复习重点
CPU(中央处理器)的缓存是一种高速存储器,用于暂时存放CPU频繁访问的数据和指令,以加速数据的读取和处理。现代CPU通常包含多级缓存(通常是三级,按照距离CPU核心的远近以及容量大小来划分),每一级缓存都有不同的容量、访问速度和层次。原创 2019-03-19 13:18:50 · 3792 阅读 · 8 评论 -
操作系统:复习重点
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位。具有独立的内存空间、磁盘空间、I/O设备等。每个进程都有一个唯一的进程标识符(PID),可以通过操作系统的进程管理功能来管理和控制进程的执行。不同进程之间的通信通常需要通过特定的机制,例如管道、共享内存等。原创 2019-04-28 20:03:01 · 1585 阅读 · 0 评论 -
操作系统:虚拟存储器
1,虚拟存储器概述连续分配、基本分页和基本分段存储管理方式都要求将一个作业全部装入内存后方能运行,于是,会出现:1) 作业很大,需求总容量超过了内存总容量。会因不能全部装入内存而导致该作业无法运行。2)有大量作业要求运行,但由于内存容量不足以容纳所有作业,只能将少数作业装入内存让它们运行,大量作业留在外存上等待。解决的办法:从物理上增加内存容量—受机器自身的限制,增加系统成本;从逻辑上扩充内存容量—用虚拟存储器技术解决;1.1,常规存储管理方式的特征和局部性原理1,常规存...原创 2020-12-28 21:20:43 · 682 阅读 · 0 评论 -
操作系统:存储器管理(下)
4,对换要实现内存、外存之间的对换,系统中必须要有一台I/O速度较好的外存,且其容量也必须足够的大,能容纳正在分时运行的所有用户作业,目前最常用的是大容量磁盘存储器。4.1,多道程序环境下的对换1,对换的引入多道程序环境下的矛盾:一方面:在内存中的某些进程由于某事件尚未发生而被阻塞运行,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况;另一方面:却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。解决的办法:引入对换(S原创 2020-12-26 21:26:45 · 841 阅读 · 0 评论 -
操作系统:存储器管理(上)
1,存储器的层次结构1.1,多层次结构的存储器系统操作系统存储管理的范畴包括:寄存器、高速缓存、主存储器和磁盘缓存。它们存储的信息在掉电后会消失。操作系统的存储管理,负责对可执行存储器的分配、回收以及提供在存储层次间数据移动的管理机制,如主存与磁盘缓存、高速缓存与主存间的数据移动等。在计算机系统的存储层次中,寄存器和主存储器又被称为可执行存储器。1.2,主存储器与寄存器主存储器用于保存进程运行时的程序和数据。CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器读取原创 2020-12-24 20:49:13 · 943 阅读 · 1 评论 -
操作系统:输入输出系统(下)
4,设备驱动程序设备处理程序通常又称为设备驱动程序,它是I/O系统的高层与设备控制器之间的通信程序,其主要任务是接收上层软件发来的抽象I/O要求,如read或write命令,再把它转换为具体的要求后,发送给设备控制器,启动设备去执行:反之,它也将由设备控制器发来的信号传送给上层软件。由于设备驱动程序与硬件密切相关,故通常应为每一类设备配置一种驱动程序。例如,打印机和显示器需要不同的驱动程序。4.1,设备驱动程序1,设备驱动程序的功能(1)接收由设备独立性软件发来的命令和参数,并将命令中原创 2021-01-03 20:56:42 · 1247 阅读 · 0 评论 -
操作系统:输入输出系统(上)
1,I/O系统的功能、模型和接口1.1,I/O系统的基本功能方便用户使用I/O设备1,隐藏物理设备的细节I/O设备的类型非常多,且彼此之间在多方面都有差异,如果要求程序员或用户编写直接面向物理设备的程序,是极端困难的。因此,I/O系统必须通过对设备加以适当的抽象,以隐藏掉物理设备的实现细节,仅向上层进程提供少量的、抽象的读/写命令,如read、write等。2,与设备的无关性:这是在隐藏设备细节的基础上实现的。一方面,用户不仅可以使用抽象的I/O命令,还可使用抽象的逻辑设备名来使用原创 2021-01-02 11:21:21 · 425 阅读 · 0 评论 -
操作系统:处理机调度与死锁(实时调度,死锁条件,死锁解除)
4,实时调度实时系统中,可能存在着两种不同性质的热舞,即HRT任务和SRT任务,他们都联系着一个截止时间。为保证系统能够正常工作,实时调度必须满足实时任务对截止时间的要求。https://shao12138.blog.csdn.net/article/details/111083732#t104.1,实现实时调度的基本条件1,提供必要的信息就绪时间(任务成为就绪状态的起始时间)、开始截止时间、完成截止时间、处理时间(指一个任务从开始执行直至完成所需的时间)、资源要求(任务执行时所需的一原创 2020-12-22 20:36:48 · 2121 阅读 · 0 评论 -
操作系统:处理机调度与死锁(作业调度,进程调度)
1,处理机调度的层次和调度算法的目标在多道程序系统中,调度的实质是一种资源分配,处理机调度是对处理机资源进行分配。处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。在多道批处理系统中,一个作业从提交到获得处理机执行,直至作业运行完毕,可能需要经历多级处理机调度。1.1,处理机调度的层次高级调度(外存→内存):又称为作业调度或长程调度。任务:用于决定按照何种算法将外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备原创 2020-12-19 21:29:13 · 1948 阅读 · 1 评论 -
操作系统:进程的控制与描述(同步问题,进程通信,线程概念)
5,经典进程同步问题5.1,生产者-消费者问题问题描述:在生产者和消费者之间的公用缓冲池中,具有n个缓冲区,这是可利用互斥信号量mutex实现诸进程对缓冲池的互斥使用;利用信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量。又假定这些生产者和消费者相互等效,只要缓冲池未满,生产者便可将消息送入缓冲池;只要缓冲池未空,消费者便可从缓冲池中取走一个消息。1,利用记录型信号量解决生产者——消费者问题2,利用AND信号量解决生产者——消费者问题3,利用管程解决生产者原创 2020-12-17 21:25:17 · 984 阅读 · 0 评论 -
操作系统:进程的控制与描述(进程同步)
4,进程同步4.1,进程同步的概念进程同步1:各进程对公共变量的访问必须加以制约,这种制约称为同步。进程同步2:并发进程在执行速度和执行次序上的协调,以达到有效的资源共享和相互合作,使程序执行有可再现性。为保证多个进程能有条不紊地运行,在多道程序系统中,必须引入进程同步机制。进程同步机制的主要任务,是对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资源,并能很好地相互合作,从而使程序的执行具有再现性。间接相互制约关系(进程互斥):同处..原创 2020-12-16 20:58:44 · 710 阅读 · 0 评论 -
操作系统:进程的描述与控制(进程描述,进程控制)
1,前趋图和程序控制在早期未配置OS的系统和单道批处理系统中,程序的执行方式是顺序执行的,即在内存中仅装入一道用户程序,由它独占系统资源,只有在一个用户程序执行完成后,才允许装入另一个程序执行。可见这种方式浪费资源、系统运行效率低等缺点。为此,在系统中引入了多道程序技术,由于内存可以同时装入多个程序,使他们共享系统资源,并发执行,显然可以克服上述缺点。1.1,前趋图前趋图:前趋图是一个有向无循环图(记为DAG),用于描述进程之间执行的前后关系。图中每个结点可用于描述一个程序段或进程,乃至一原创 2020-12-14 21:17:24 · 2160 阅读 · 0 评论 -
操作系统:周转时间和其他时间
一,周转时间类周转时间作业被提交给系统开始,到作业完成为止的这段时间间隔。包括:作业在外存后备队列上的等待作业调度的时间, 进程在就绪队列上等待进程调度的时间, 进程在CPU上执行的时间, 进程等待IO操作完成的时间平均周转时间多个作业的周转时间的平均值带权周转时间作业的周转时间与系统为它提供服务的时间之比平均带权周转时间多个作业的...原创 2019-11-11 17:02:16 · 20597 阅读 · 5 评论 -
操作系统:资源问题
可重用性资源和消耗资源可重用性资源定义:是一种可供用户重复使用多次的资源性质: (1) 每一个可重用性资源中的单元只能分配给一个进程使用,不允许多个进程共享; (2)进程在使用可重用性资源时,须按照“请求资源”,“使用资源”和“释放资源”的顺序。 (3)系统中每一类可重用性资源中的单元数目是相对固定的,进程运行期间既不能创建也不能删除它。...原创 2019-11-13 20:57:57 · 2615 阅读 · 0 评论 -
操作系统:死锁和饥饿
概念死锁:如果一组进程中的每一个进程都在等待由该进程中的其他进程才能引发的事件,那么改组进程是死锁的。饥饿:指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。产生原因死锁:源于多个程序对资源的争夺,不仅对不可抢占资源进行争夺时会...原创 2019-11-13 18:42:36 · 7058 阅读 · 3 评论 -
操作系统:线程,进程,程序,作业
一,概念区别线程:线程也称为轻量级进程(LWP),是程序执行流量的最小单位,它是进程的一个实体,是系统独立调度和分派处理机的基本单位。线程是操作系统调度的最小单位。系统调度的基本单位。进程:进程是一个可并发执行的,具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和调度的独立单位。是一个动态概念。资源分配的基本单位。程序:程序是一组有序指令的集合,...原创 2019-11-11 16:36:41 · 1143 阅读 · 0 评论 -
操作系统:操作系统引论
操作系统:是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。其主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。操作系统是现代计算机系统中最基本和最重要的系统软件(系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合。)。1,操作系统的目标和作用1.1,操作系统的目标方便性 : 使计算机系统使用起来更方便有效性 : 改善资源利用率,提高系统吞吐量可扩充性:...原创 2020-12-12 21:25:51 · 3148 阅读 · 0 评论 -
操作系统:基本磁盘和动态磁盘
基本信息磁盘的使用方式可以分为两类:一类是“基本磁盘”。基本磁盘非常常见,我们平时使用的磁盘类型基本上都是“基本磁盘”。“基本磁盘”受26个英文字母的限制,也就是说磁盘的盘符只能是26个英文字母中的一个。因为A、B已经被软驱占用,实际上磁盘可用的盘符只有C~Z 24个。另外,在“基本磁盘”上只能建立四个主分区(注意是主分区,而不是扩展分区);另一种磁盘类型是“动态磁盘”。“动态磁盘...原创 2019-11-15 10:13:36 · 4630 阅读 · 0 评论 -
操作系统:BIOS+MBR和UEFI+GPT
MBR和GPTMBR的意思是“主引导记录”,是IBM公司早年间提出的。它是存在于磁盘驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统系统信息,并用一小段代码来启动系统。如果你安装了Windows,其启动信息就放在这一段代码中——如果MBR的信息损坏或误删就不能正常启动Windows,这时候你就需要找一个引导修复软件工具来修复它就可以了。Linux系统中MBR通常会是GRUB...原创 2019-11-15 10:39:05 · 3349 阅读 · 0 评论 -
计算机组成原理:计算机的运算方法(下)
4,定点运算4.1,移位运算1,移位的意义移位运算在日常生活中常见。例如,15m可以写成1500cm,单纯就数字而言,1500相对于数15相对于小数点左移了两位,并在小数点前面添加了两个0;同样15相对于1500相对于小数点右移了两位,并删去了小数点后面的两个0。可见,当某个十进制数相对于小数点左移n位,相当于该数乘以10^n;右移n位时,相当于该数除以10^n;计算机中小数点的位置是事先约定的,因此,二进制表示的机器数在相对于小数点作n位左移或右移时,其实质就是该数乘以或除以2^n。原创 2021-01-12 20:42:12 · 810 阅读 · 0 评论 -
计算机组成原理:计算机的运算方法(上)
1,无符号数和有符号数1.1,无符号数计算机中的数均放在寄存器中,通常称为寄存器的位数为机器字长。所谓无符号数,即没有符号的数,在寄存器中的每一位均可用来存放数值。当存放有符号数时,则需留出位置存放符号。因此,在机器字长相同时,无符号数与有符号数所对应的数值范围时不同的。以机器字长为16位为例,无符号数表示的范围位0~65535,而有符号数表示的范围为-32768~+32767。1.2,有符号数机器数与真值:对于符号数而言,符号的“正”、“负”机器是无法识别的,但由于“正”、“负”恰好原创 2021-01-08 21:14:11 · 3334 阅读 · 0 评论 -
计算机组成原理:计算机系统概论
1,计算机系统简介1.1,计算机系统的软硬件概念计算机系统由硬件和软件两大部分组成硬件:是指计算机的实体部分,它由看得见摸得着的各种电子元件,各类光、电、机设备的实物组成。(1)运算器:相当于算盘,具有计算功能的部件。执行数值数据的 加 减 乘 除 等算术运算,执行逻辑数据的 与 或 非 等逻辑运算,所有的运算功能由一个被称为ALU(算术逻辑单元)的电路完成。功能强的ALU还能执行:定点运算、浮点运算,向量运算。 暂时存放参加运算的数据和中间结果。(由多个通用寄存器来完成)(2原创 2021-01-06 21:26:44 · 571 阅读 · 0 评论 -
计算机组成原理:编码器和译码器
一,编码器 一,普通编码器 二,优先编码器 二,译码器 ...原创 2019-04-04 19:06:33 · 4912 阅读 · 0 评论 -
计算机组成原理:除法运算
一:原码-恢复余数法二,原码-不恢复余数法三,补码除法原创 2019-04-06 09:10:56 · 12098 阅读 · 5 评论 -
计算机组成原理:乘法运算
一:原码一位乘结果:x*y=0. 1 0 1 1 0 1 1 0二:原码两位乘前提:ps:三位符号位为了防止丢失精度结果:x*y=0. 1 1 1 0 0 0 0 0 0 1 1 1三:补码一位乘法首先引入Booth算法四:补码二位乘法y(n-1) y(n) y(n+2) 操作内容 0 0 0 右移两位 0 0 ...原创 2019-04-06 08:36:47 · 15660 阅读 · 2 评论 -
计算机组成原理:逻辑运算与逻辑电路
一,简单逻辑电路与逻辑或逻辑非逻辑 与 或非二,复合逻辑电路与非逻辑或非与或非逻辑异或:相异为1,相同为0奇数个“1”相异或结果为“1”偶数个“1”相异或结果为“0”同或:相异为0,相同为1...原创 2019-04-04 18:51:59 · 5858 阅读 · 1 评论 -
计算机组成原理:规格化数的判断
原创 2019-03-29 20:28:41 · 10719 阅读 · 0 评论 -
计算机组成原理:为啥加减时小的要向大的对阶
移码规则真值 码制 填补代码 正数 原码,补码,反码 0 负数 原码 补码 反码 0 左移舔0,右移舔1 1 如果大数向小数对阶除符号位外位数:5真值: x=0.11010 y=0.00110补码: x=00,000;00.11010 y=...原创 2019-03-29 21:12:13 · 5567 阅读 · 3 评论 -
计算机组成原理:真值,原码,补码,反码,移码
(1)如果真值大于0,其原码,补码,反码都一样.(2)本人所写为本人认为最简求法,省略了大部分原理,详细请参考计算机组成原理。1,真值就是现实中的数字(二进制)必须有+/-,实际中整数舍弃了+。eg:+1101010001 -10100011112,原码计算机中唯一标识一个真值,但是不能用于计算以及无法实现减法,会产生二异性(+0,-0)。求法:正数的原码是其补全位数后前面加0,负数的原码是是其补齐位数后去掉-,在前面加1。eg:真值.原创 2019-03-14 20:47:10 · 35480 阅读 · 6 评论 -
计算机组成原理:系统总线&IO设备
原创 2019-06-26 07:21:17 · 989 阅读 · 0 评论 -
计算机组成原理:存储器
1,概述存储器是计算机系统中的记忆设备,用来存放程序和数据。计算机系统的速度在很大程度上受存储器存取速度的制约。在现代多处理机系统中,各处理机本身都需与其主存交换信息,而且各处理机在相互通信中,也都需要共享存放在存储器中的数据。因此,存储器的地位就更加重要。1.1,存储器的分类1,按存储介质分类半导体存储器:TTL 、MOS。易失 磁表面存储器:磁头、载磁体。非易失 磁芯存储器:硬磁材料、环状元件。非易失 光盘存储器:激光、磁光材料。非易失2,按存取方式分类存取时间与物原创 2021-01-18 21:32:36 · 1640 阅读 · 0 评论 -
计算机组成原理:思维导图
计算机组成原理思维导图原创 2019-06-26 07:17:59 · 290 阅读 · 0 评论 -
编译原理:运行时存储空间的组织和管理
编译程序在完成词法分析、语法分析和语义分析后,在生成目标代码之前,需要把程序的静态正文和实现这个程序的运行时的活动联系起来,弄清楚将来在代码运行时刻,源代码中的各种变量,常量是如何存放的,如何访问的概念过程的活动:过程的一次执行被称为过程的一次活动活动记录:一个过程的一次执行所需要的信息使用一个连续的存储区来管理,这个区叫做一个活动记录活动的生存期:从执行该过程体第一步操作到最后一步操作之间的操作时间,包括执行时调用其他过程花费的时间(过程可以是递归的,一个过程可以对应多个活动)..原创 2020-08-22 14:53:36 · 1144 阅读 · 0 评论 -
编译原理:中间代码生成
一,基本概念翻译为中间语言的好处:(1)便于进行与机器无关的代码优化;(2)使编译程序改变目标机更容易;易于编译器的移植(3)使编译程序的结构在逻辑上更为简单明确,以中间语言为界面,编译前端和后端的接口更清晰。中间语言的形式:后缀式,图表示法,三元式编译过程中不同语言的翻译或处理方法:说明语句的翻译,赋值语句的翻译,布尔表达式的翻译,控制语句的翻译中间语言的形式:逆波兰表示:后缀式图表示法:DAG和AST三地址代码:四元式,三元式,间接三元式二,.原创 2020-08-22 15:42:19 · 3949 阅读 · 0 评论 -
编译原理:语法制导翻译
属性文法是在上下文无关文法的基础上为每个文法符号(终结符或非终结符)配备若干个相关的“值”(称为属性)文法表示三元组:A=(G,V,F)G:是一个上下文无关文法。V:有穷的属性集,每个属性与文法的一个终结符或非终结符相连,这些属性代表与文法符号相关信息,如它的类型,值,代码序列,符号表内容等等。属性与变量一样,可以进行计算和传递。属性加工的过程即语义处理的过程。F:关于属性的属性断言或一组属性的计算规则(称为语义规则)。断言或语义规则与一个产生式相联,只引用该产生式左端或右端的原创 2020-08-22 08:58:34 · 2987 阅读 · 0 评论 -
编译原理:算符优先分析
算符优先分析过程是自上而下的归约过程,但未必是严格的最左归约。也就是说,算符优先分析法不是一种规范归约法。所谓【算符优先分析法】就是定义算符之间的某种优先关系,借助于这种关系寻找“可归约串”进行归约的一种方法。【算符文法】一个文法,如果它的任一产生式的右部都不含两个相继(并列)的非终结符,即不含如下形式的产生式右部: ,则我们称该文法为算符文法。原创 2020-04-24 17:57:02 · 13707 阅读 · 6 评论 -
编译原理:语法分析(下)
一,LR分析LR文法LR文法: 对于一个文法,如果能够构造一张分析表,使得它的每个入口均是唯一确定的,则我们将把这个文法称为LR文法。LR(k)文法: 一个文法如果能用一个每步最多向前检查k个输入符号的LR分析器进行分析,则这个文法就称为LR(k)文法。 一般k=0或k=1就可以了分析程序:对所有的LR分析器总控程序都是相同的。分析表/分析函数:不同的文法分析表将不同,...原创 2020-05-08 18:16:47 · 6518 阅读 · 2 评论 -
编译原理:语法分析(中)
一,自上而下分析对于任何输入串,从文法开始符号(根节点)出发,自上而下,从左到右地为输入串建立语法分析树。特点1.分析过程是带有预测的,对输入符号串要预测属于什么语法成分,然后根据该语法成分的文法建立语法树。2.分析过程是一种试探过程,是尽一切办法(选用不同规则) 设法建立语法树的过程,由于是试探过程,故难免有失败,所以分析过程需进行回溯,因此我们也称这种方法是带 回溯的...原创 2020-04-19 17:35:18 · 1924 阅读 · 0 评论 -
编译原理:语法分析(上)
一个文法,如果存在某个句子不止一棵分析树,或者说这个句子存在不止一种最左最右推导,那么称这个文法是二义的。提左因子也是一种文法变换,它用于产生适于自上而下分析的文法。产生式来推迟这种决定,推迟到看到足够多的输入,能帮助正确决定所需选择为止。把产生式看成重写规则,把符号串中的非终结符用其产生式右部的串来代替。消除左递归:如果不消除,输入AA字符永永远远往下递归,到不了。每次直接推导均替换句型中最左边的非终结符。每次直接推导均替换句型中最右边的非终结符。,也就是到不了终结符,无法停止。2,左递归和提左因子。原创 2020-04-18 15:58:56 · 1349 阅读 · 0 评论 -
编译原理:词法分析
从第一个语言任取一个串,再从第二个语言任取一个串,然后将他们连接后得到所有串的集合。逐个读入构造源程序的字符,把它们组成词法单元流,并完成和用户接口的一些任务。例如 1946,11.28,63.6E8,1.999E-6。C语言的标识符是字母、数字和下划线组成的串。是按照一组定义规则,由较简单的正规式构成的,每个正规式。遍历每个符号,对集合来说,是否能划分集合G。7,NFA到DFA的变换-自动机构造法。正规式(又称正规表达式、正则表达式)的子正规式所表示的语言中构造出来。9,从正规式到有限自动机。原创 2020-04-14 16:36:47 · 2175 阅读 · 0 评论