计算机系统/结构/组成
盼盼编程
这个作者很懒,什么都没留下…
展开
-
外存的组织方式
1:连续组织方式, 又称为连续分配方式,要求每一个文件分配一个相邻的盘快 优点:顺序访问容易:访问连续文件非常容易,访问速度非常快 缺点:要求为文件分配连续的空间,必须事先知道文件的长度,不能灵活的删除插入记录动态增长的文件难分配空间 2:链接组织方式(分为隐式链接和显示链接) 采用链接组织的方式可以为文件分配多个不连续的盘快 优点:1:消除磁盘的外部碎片,提高内存的利用率 。2...原创 2020-10-13 22:04:00 · 13384 阅读 · 4 评论 -
处理机调度的层次
1.高级调度:主要用于多道批处理系统中,又称长作业调度,调度队像是作业,根据某种算法决定将后备队列中的哪几个作业调入内存。2.低级调度:操作系统中最基本的一种调度方式(频率最高),在多道批处理、分时和时实三中类型的OS中都存在,又称为短作业调度。3.中级调度:又称为内存调度,目的是为了提高内存的利用率和系统的吞吐率...原创 2020-10-13 22:04:31 · 11229 阅读 · 5 评论 -
进程控制块PCB
进程控制块PCB是一个很重要的概念,下面看看他的作用1:作为独立运行基本单位的标志2:能实现间断性运行方式3:提供进程通信管理所需要的信息4:提供进程调度所需要的信息原创 2020-10-13 22:04:41 · 10482 阅读 · 5 评论 -
程序并发执行的特征
1:间断性:程序在并发执行的时候,因为是共享资源,以及完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系,导致程序执行呈现:执行--暂停--执行2:失去封闭性:当系统中有多个并发执行的程序时,各个资源是他们所共享的,这些资源的状态也由这些程序所改变,所以摸一个程序的运行环境会受到其他程序的影响。3:不可再生性...原创 2020-10-13 22:14:34 · 14892 阅读 · 4 评论 -
页面置换算法
FIFO算法 先入先出,即淘汰最早调入的页面。OPT(MIN)算法 选未来最远将使用的页淘汰,是一种最优的方案,可以证明缺页数最小。 可惜,MIN需要知道将来发生的事,只能在理论中存在,实际不可应用。LRU(Least-Recently-Used)算法 用过去的历史预测将来,选最近最长时间没有使用的页淘汰(也称最近最少使用)。 LRU准确实现:计数器法,页码栈法。 由于代价较高,通常不使用准确实现,而是采用近似实现,例如Clock算法。内存抖动现象: 页面的频繁更换,导致整个系统效率急剧下降,这原创 2020-10-18 09:39:02 · 8019 阅读 · 3 评论 -
中断和轮询
对I/O设备的程序轮询的方式,是定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的就加以处理。在处理I/O设备的要求之后,处理机返回继续工作。尽管轮询需要时间,但轮询要比I/O设备的速度要快得多,所以一般不会发生不能及时处理的问题。当然,再快的处理机,能处理的输入输出设备的数量也是有一定限度的。而且,程序轮询毕竟占据了CPU相当一部分处理时间,因此程序轮询是一种效率较低的方式,现代计算机系统中已很少应用。 轮询效率低,等待时间很长,CPU利用率不高;中断容易遗漏一些问题,CPU利原创 2020-10-17 10:18:04 · 9592 阅读 · 4 评论 -
Windows内存管理
1.虚拟内存: 最适合用来管理大型对象或者结构数组2.内存映射文件: 最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据3.内存堆栈: 最适合用来管理大量的小对象...原创 2020-10-17 10:17:53 · 8702 阅读 · 4 评论 -
编译器的符号表
程序中的变量是不占内存空间,程序怎么知道每个变量对应的地址呢,因为只有知道地址才能取值。 是因为编译器生成了一个符号表,该表记录了变量和内存地址的一一对应关系,当访问这个变量时,可以从符号表找到对应的内存地址,然后取出值。编译原理的知识...原创 2020-09-02 23:16:06 · 1782 阅读 · 3 评论 -
IO消耗和处理器消耗
linux操作系统博大精深,对操作系统的掌握的掌握程度对编写代码非常有帮助。下面看一下IO消耗和处理器消耗的不同。I/O消耗型进程:程序运行时的大部分时间都在提交或者等待I/O请求,因此这样的进程要经常处于运行状态,但通常都是短短的一会儿,所以处理器倾向于优先调度I/O消耗型的进程。该类进程优先级高,时间片长。而优先调度该类进程是为了让该类进程是为了尽可能地消耗其所需要的处理器资源,从而让该进程阻塞住,这样只要用户一完成I/O操作,该进程就会被唤醒,从而立刻处理I/O操作,那么在用户看来,该进程响应非常快,原创 2020-08-24 01:32:57 · 10793 阅读 · 3 评论 -
linux TLB
有关线程死锁的问题?死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们将无法推进下去。产生死锁的4个必要条件:1.互斥条件:一个资源每次只能被一个进程使用2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放3.不剥夺条件:进程已获得资源,在未使用完之前,不能强行剥夺4.循环等待条件:若干进程之间形成一种头尾相接的循环等待关系请描述进程和线程的区别?进程是程序的一次执行。线程可以理解为进程中执行的一段程序片。在一个多任.原创 2020-08-23 16:14:10 · 11049 阅读 · 5 评论 -
计算机组成原理:储存系统和结构
储存系统的组成: 1.按作用分类 1>高速缓冲存储器:位于主存和CPU之间,用来存放正在执行的程序段和数据,以便CPU能高速的访问它们。其速度可以和CPU速度相匹配。 2>主存储器:存放计算机运行期间所需要的程序和数据,CPU可直接随机地...原创 2019-06-19 22:27:37 · 18581 阅读 · 4 评论 -
数据总线和地址总线
有时候在说总线的宽度的时候,要注意是说的是数据总线还是地址总线。 地址总线的宽度表明CPU的寻址能力,数据总线的宽度决定了CPU和外界数据传送速度。 某个CPU有10根地址总线,一根线的稳定状态只有2种,高电平和低电平。用二进制表示就是0和1,10根线就是2^10,数据大小的范围是0~1023内存单元。一个地址是表示一个内存单元的,一个内存...原创 2019-05-21 20:56:11 · 21776 阅读 · 2 评论 -
计算机组成原理:总线
总线概述 总线:一组能为多个部件分时共享的公共信息传送线路。共享是指总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组公共线路传送;分时是指同一时刻总线上只能传送一个部件发送的信息。 总线的分类: 按功能分类 ...原创 2019-04-29 19:02:37 · 13178 阅读 · 3 评论 -
计算机组成原理:中央处理器
CPU:包括运算器和控制器 CPU中的主要寄存器:CPU中的寄存器用来暂时保存运算和控制过程中的中间结果,最终结果以及控制,状态信息的,它可以分为通用寄存器和专用寄存器两大类。 通用寄存器:通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器,计数器,地址指针等。通用寄存器可由程序编址访问。 ...原创 2019-04-29 19:01:55 · 11811 阅读 · 2 评论 -
计算机操作系统:磁盘存储器的管理
待续原创 2019-03-30 10:30:22 · 10746 阅读 · 1 评论 -
目标文件中的几个重要的段
今年来学习一下目标文件。那啥是目标文件呢?简单的说:目标文件就是经过编译和汇编,但没有经过没了链接的文件。看一段测试代码:#include int a = 84;//已初始化的全局变量int b;//未初始化的全局变量void func(int i){ printf("%d\n",i);}int main(){ static int c = 85;//已初始化的原创 2018-01-06 15:03:06 · 1798 阅读 · 2 评论 -
强符号和弱符号
在C语言中,函数和初始化的全局变量(包括显示初始化为0)是强符号,未初始化的全局变量是强符号。关于多个强弱符号定义类型不一致的主要有下面三种情况:1.两个或两个以上强符号类型不一致2.有一个强符号,其他都是弱符号3.两个或两个以上弱符号类型不一致对于情况一,编译会报符号重定义错误。对于情况二,链接最终会选择强符号。示例代码如下:[mapan@localhost原创 2018-01-06 18:08:56 · 2603 阅读 · 3 评论 -
几种操作系统的理解
单批道处理系统:由一个监督程序把作业转入内存,当该作业处理完成时,监督程序在把下一个作业载入内存,内存始终保持一个作业在运行。单当该作业在运行时发出I/O请求,CPU便处于等待状态,由于I/O设备的低速性,使得CPU利用率很低 多批道处理系统:根据作业调度算法,一次性载入多个作业到内存中,当一个作用发出I/O请求,CPU处于空闲状态时,再调度另一个作业运行,这...原创 2018-04-30 17:20:04 · 10557 阅读 · 1 评论 -
linux进程的地址空间
要了解进程的地址空间先要了解虚拟内存。虚拟内存:它是一个抽象概念,它为每个进程提供一个假象,每个进程都独占地使用主存。每个进程看到的内存都是一致的,称为虚拟地址空间。 进程的地址空间:操作系统在管理内存时,每个进程都有一个独立的进程地址空间,进程地址空间为虚拟地址。一图胜千言。最下面的2个段也表示的就是加载进来的可执行文件。读/写数据:包括.bss和.data...原创 2018-05-23 19:52:14 · 10362 阅读 · 2 评论 -
引入进程的目的
操作系统为何要引入进程这个概念,这要从多批道处理系统说起。为了提高CPU利用率,多批道处理系统一次性载入多个作业到内存中让程序并发执行,但这会造成一系列的问题。这里也谈到一个概念"并发",并发和并行的概念很多人混淆不清。并发:指你有处理多个任务的能力,不一定要同时进行。并行:指你有同时处理多个任务的能力。 程序的并发执行产生的问题:...原创 2018-05-24 10:03:14 · 19901 阅读 · 2 评论 -
计算机操作系统:进程
待续原创 2019-03-30 10:23:53 · 10143 阅读 · 1 评论 -
计算机操作系统:处理机的调度
处理机调度层次: 1.高级调度:它调度的对象是作业。其主要功能是根据某种算法,决定讲外存上处于后备队列中的哪几个作业调入内存,为它们创建进程,分配必要的资源,并将它们放入就绪队列。 2.低级调度:它调度的对象是进程。其主要功能是根据某种算法,决定就绪队列中的哪个进程应获得处理机,并由分派程序将处...原创 2019-03-30 10:24:59 · 11179 阅读 · 3 评论 -
计算机操作系统:存储器的管理
程序的几种装入方式: 1.绝对装入方式:用户程序编译后将产生绝对地址的目标代码,绝对装入程序按照装入模块的地址将程序和数据装入内存。程序中所使用的绝对地址既可以在编译或汇编时给出,也可由程序员直接赋予,适用于单道程序环境。 2.可重定位装入方式:多道程序环境下,编译程序不可能预知经编译后所得到的目标模块应放在内存的何处。因此,对...原创 2019-03-30 10:25:51 · 10327 阅读 · 2 评论 -
计算机操作系统:虚拟存储器
虚拟存储器定义:是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储系统,其逻辑容量由内存容量和外村容量之和所决定。 虚拟存储器工作情况:基于局部性原理可知,应用程序运行前仅须将那些当前要运行的少数页面或段先装入内存,其余部分暂留磁盘上。如果程序所要访问的页或段尚未调入内存,就发生缺页或缺段请求。如果此时内存已满,OS需要利用页置换功能,将...原创 2019-03-30 10:26:28 · 10833 阅读 · 2 评论 -
计算机操作系统:文件管理
待续原创 2019-03-30 10:27:31 · 10280 阅读 · 1 评论 -
计算机操作系统:输入输出管理
待续原创 2019-03-30 10:29:33 · 10484 阅读 · 1 评论 -
CPU的充分利用
CPU资源十分昂贵,人们为了充分利用CPU想出了各种办法,下面提几个。多道程序:一个监控程序,当某个程序暂时不适用CPU时,监听程序就把正在等待CPU资源的程序启动。但是没有对程序的优先级做特殊处理,没有让重要程序先运行。分时系统:每个程序都运行一小段时间并把CPU主动让给其他程序,使得每个程序都能运行。但是某个程序可能一直霸占的CPU造成系统假死的情况。多任务系统:所原创 2018-01-01 16:06:48 · 2512 阅读 · 3 评论