
408操作系统
文章平均质量分 91
408操作系统复习笔记
gzhosp_redAnt
互联网+医疗践行者
展开
-
挑战408——操作系统(25)——I/O系统及其设备
这部分内容是结合组成原理一起总结的,因为这部分内容两个科目的重叠度还是很高的。于是放在这里一起总结。I/O系统的发展阶段早期阶段早期的I/O系统,I/O设备比较少,所以大部分的I/O设备都是直接跟Cpu交互的:显然这种模式下是以串行方式进行的,且和浪费CPU的时间,再者这种直接与CPU交互的方式使得I/O设备的扩展或者移除不具有灵活性。接口模块与DAM阶段通常,接口中设有数据通路,...原创 2019-11-30 17:26:12 · 787 阅读 · 0 评论 -
挑战408——操作系统(24)——存储系统的性能分析
我们根据前面知道,进程在运行的时候没有必要将其所有页面调入内存,因此操作系统必须决定要把进程的多少页调入到内存中。于是考虑以下因素:分配进程给进程的存储块数越少,驻留在内存中的进程数就越多进程在内存中所分得的存储块数越少,缺页率也就越高。进程在内存中块数达到一定数量后,根据局部性原理,即使给再多的存储块,那么进程的缺页率也不会有明显的改善。所以怎么给进程分配合理的存储块数是一个难题。目...原创 2018-12-04 22:49:58 · 789 阅读 · 0 评论 -
挑战408——操作系统(23)——页面置换算法
在进程运行的过程中,在调入时,若内存中没有空闲空间,那么为了所需要的页面能调入,必须选择一些页调出。算法的好坏直接印象系统的性能,不适当的算法可能引起系统的抖动(至于什么叫抖动,下篇再说)。选择算法的出发现在于:把未来不再使用的或者是短期内不再使用的页调出。但是由于未来不可预估,因此只能根据过去的数据进行预测。那么怎么进行相应的预测呢?假设分配给进程的存储块数量为3.而进程在执行的过程中需要访...原创 2018-12-03 22:30:18 · 645 阅读 · 0 评论 -
挑战408——操作系统(21)——虚拟存储管理
这部分内容是组成原理和操作系统部分的交叉篇。有内容重复,也有内容相互补充。于是写在一起总结。虚拟存储技术的引入由于技术和成本等原因,主存的存储容量受到限制,并且各种不同的计算机所配置的物理内存容量多半不同,而程序设计的时候,人们显然不希望受到特定的计算机的物理内存大小的限制。此外,现代操作系统都支持着多道程序运行,如何让多个程序有效而安全的共享主存又是一个重要的问题。于是为了解决上述的两个问...原创 2018-12-01 22:49:24 · 693 阅读 · 0 评论 -
挑战408——操作系统(20)——段式存储方式
页式存储方式,是以计算机的角度设计的,以便提高内存的利用率和计算机的性能,且分页机制是通过硬件实现的。对用户而言是完全透明的原创 2018-11-28 22:47:26 · 1219 阅读 · 0 评论 -
挑战408——操作系统(19)——页式存储管理
连续分配存储方式,是将进程存放在一个连续的内存空间中,从而容易造成碎片问题。那么有什么办法可以解决碎片问题呢?那我们不要将进程存在一个连续的空间就好了。于是就产生了将一个进程分散的分配到许多不相邻的分区中,就可以解决这一问题。页式存储管理的基本思想将内存空间分成大小相同的存储块,并按顺序编号(一般从0开始)。相应的将进程的逻辑地址空间分成若干个与内存块大小相等的块,但是为了方便区分,我们称为页...原创 2018-11-26 23:50:33 · 1336 阅读 · 1 评论 -
挑战408——操作系统(17)——程序的运行过程
进入了存储管理的部分了。也是操作系统中的一大难题。这部分接在组成原理复习完存储器部分来复习,会对存储器和存储系统会有个更深入的感触。内存管理的对象是内存,内存管理的方案有很多,从简单的单一连续分配到页式端式存储方案,各有优点。为操作系统选择存储方案,依赖于很多因素,特别是硬件的支持。下面先来看看一个程序运行的过程。程序的运行过程程序要运行,首先必须装入内存,用户源程序要变成一个可以在内存运行...原创 2018-11-20 22:17:37 · 718 阅读 · 0 评论 -
挑战408——操作系统(16)——进程管理刷题(2)
本节刷题内容:进程管理题库来源:408真题,王道教材,百度文库涉及的知识点:进程与线程进程状态转换进程控制进程通信进程调度补充知识点抽屉原理桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面至少放两个苹果。抽屉原理的一般含义为:“如果每个抽屉代表一个集合,每一个苹果就可以代表一个元素,假如有n+1个元素放到n个集合中去,其中必定有一个集合...原创 2018-11-02 12:39:36 · 1095 阅读 · 1 评论 -
挑战408——操作系统(15)——进程管理刷题(1)
本节刷题内容:进程管理题库来源:408真题,王道教材,百度文库涉及的知识点:进程与线程进程状态转换进程控制进程通信进程调度基础概念第一题解析:在前面我们就强调,进程是运行中的程序,引入进程的目的就是为了动态的研究程序的运行状态。所以进程的动态性和程序的静态性是进程与程序最根本的区别。不多说,课本原话。第二题解析:调度是操作系统的基本功能,几乎所有的计算机资源在使用前...原创 2018-10-28 21:32:52 · 860 阅读 · 0 评论 -
挑战408——操作系统(14)——银行家算法与死锁解除
回顾之前提到的死锁的解决方式:预防,检测,避免。避免死锁的方式中最著名的就是银行家算法了。不过在介绍之前,先引入一段介绍。死锁的避免安全序列产生死锁的原因有很多,资源不足还有进程推进次序非法,都是原因。但是系统有不可能一下子满足所有进程的资源请求,才会产生死锁的危险。我们知道,进程结束以后是会释放资源的,释放的资源也是可以给后面的进程使用的。我们可以回顾一下哲学问题,我们的那种作法其实就是,...原创 2018-10-28 15:35:47 · 1348 阅读 · 0 评论 -
挑战408——操作系统(13)——死锁(deadlock)
死锁,可以定义为一组竞争系统资源或者相互通信的进程,相互的“永久性“”的阻塞,若无外力作用,这组进程将永远没有办法继续执行。很遗憾,目前这种问题没有一种有效的通用解决方案。这里对于死锁的定义理解要注意死锁的对象——一组进程,相互竞争。如果是一个进程可能长期或者永久性得不到执行,那么这个进程是处于饥饿状态而不是死锁。同时,饥饿 ≠死锁!,饥饿现象只是死锁的一种结果,就是说由于死锁的出现,导致了死锁...原创 2018-10-26 13:35:15 · 706 阅读 · 1 评论 -
挑战408——操作系统(12)——进程通信,管程介绍
PS:这部分内容考的比较少,了解实例就好进程间的通信,要解决的问题是进程之间信息的交流问题。根据交流信息量的大小,我们将通信分为低级通信和高级通信两种。低级通信中,进程中只能传递状态跟整数值,比如我们刚刚提到的PV操作。高级通信中,进程能传递任意数量的数据,传递的信息大。下面主要谈一些高级通信机制。进程通信的类型高级进程之间的通信机制主要分为三种: 共享存储器系统,消息传递系统,管道通...原创 2018-10-26 10:46:38 · 990 阅读 · 0 评论 -
挑战408——操作系统(11)——多角度看生产者消费者问题
对于信号量的使用,主要是如何选择信号量和如何安排pv操作在程序中的位置。下面来分析一下经典的生产者消费者问题。教材的说法有点过于笼统了,我就用自己的语言来重新描述一遍。生产者——消费者问题问题描述:有两组进程共享一个环形的缓冲池,其中的一组进程称为生产者,另一组进程称为消费者。缓冲池由若干个大小相等的缓冲区组成,每一个缓冲区都可以容纳一个产品。生产者进程不断的将生产的产品放入到缓冲池中,消费者...原创 2018-10-25 12:12:33 · 814 阅读 · 4 评论 -
挑战408——操作系统(10)——信号量与PV操作
处理同步和互斥的问题,除了用到之前的软件和硬件的方法,用的最多的还是信号量机制。信号量机制是通过定义表示共享资源使用的特殊变量以及两个标准的原语(P操作和V操作),来实现同步和互斥的。根据信号量的数据类型不同,我们将信号量分为整型信号量和记录型信号量。整型信号量整型信号量是一种被定义为用来表示资源数的整型量S,其值只能被wait和signal操作。S的初始值被设置为可访问的资源数的数量。当...原创 2018-10-24 10:54:58 · 1860 阅读 · 2 评论 -
挑战408——操作系统(9)——进程的同步与互斥
操作系统中的并发进程有些是独立的有些需要相互协作,独立的进程在系统中执行不影响其他进程,也不被其他进程影响(因为他们没有共同需要一起用到的资源)。而另外一些进程则需要与其他进程共享数据,以完成一项共同的任务。因此,为了保证操作系统的正常活动,使得程序的执行具有可再现性,保证执行结果的正确性。操作系统必须为这种协作的进程提供某种机制。进程间的协作关系分为:互斥,同步,通信。(实习面试的时候,有个...原创 2018-10-23 16:07:00 · 1317 阅读 · 1 评论 -
挑战408——操作系统(8)——典型的调度算法
通过前面的学习,我们明白了调度的时机,调度的原理及其方式,那么问题来了,怎么样对程序进行调度才能提高CPU的利用率呢?对于不同的系统而言,他们的设计目标不一样,所以调度的方式也不同,常见的调度算法有等会要介绍的几个算法。不过在此之前,得先回顾一下这篇文章:挑战408——操作系统(1)——介绍一下操作系统这个东西先来先服务算法(FCFS)顾名思义,也不需要那么多专业术语,就是一句话,谁先到了就把...原创 2018-10-20 17:47:37 · 820 阅读 · 0 评论 -
挑战408——操作系统(7)——处理机调度
我们前面说过,进程状态的切换离不开处理机的调度。调度是操作系统的基本功能,几乎所有计算机资源再使用之前都要经过调度。经过进程调度,才把CPU分配给合适的进程,对于处理机而言,可分配的资源就是在处理机上运行的时间。进程调度是多道程序运行的根本。通过进程间切换CPU,操作系统才能提高计算机的效率。调度的类型及其方式多道程序的核心是调度,处理机的调度方式有三种,称为高级调度,中级调度,低级调度。...原创 2018-10-20 10:42:26 · 559 阅读 · 0 评论 -
挑战408——操作系统(6)——线程详解
20世纪80年代,人们提出了比进程更小,并能独立运行的基本单位——线程。如果说进程的目的是为了让多个程序彼此之间能够并发执行,那么引入线程就是为了减少并发执行所付出的时间和空间开销。从而使得操作系统具有更好的并发性。线程的作用由于进程是一个资源的拥有者,因此在进程的创建,撤销以及状态转换中都要付出巨大的时间和空间开销。因此系统中的进程都不宜过多(打开你们的任务管理器,运行的进程都能数出来),因...原创 2018-10-18 12:29:05 · 578 阅读 · 0 评论 -
挑战408——操作系统(5)——PCB与进程控制
进程的活动是通过在CPU上执行一系列程序和对数据进行相应操作的完成来体现的,因此程序和数据是组成进程的实体,为了反映进程的动态特征,需要一个数据结构来描述进程本身的特性状态,调度信息以及对资源的占有等等。这个数据结构我们称之为进程控制块(PCB)PCB的内容PCB主要包含下面几部分的内容:进程的描述信息,比如进程的名称,标识符,处理机的状态信息,当程序中断是保留此时的信息,以便CPU返回...原创 2018-10-18 00:38:11 · 1310 阅读 · 0 评论 -
挑战408——操作系统(4)——进程状态转换
前面我们提到了进程的引入背景,现在就深入了解一下。进程与程序为了从变化的角度,动态地研究可以并发执行的程序,真实反映系统的独立性并发性和动态性,操作系统中不得不引入“进程”这一概念。进程(process),即运行着的程序。直观翻译其英文,就是过程的意思。它表示程序的运行过程。它是分配资源的基本单位,也是并发活动的基本单位。进程是程序的执行过程,但是又与程序不同,我们看看他们之间的区别:进...原创 2018-10-17 18:08:31 · 678 阅读 · 0 评论 -
挑战408——操作系统(3)——进程与PCB
早期的计算机系统只允许一次执行一个程序,因此程序对系统拥有完全的控制权,能访问系统中所有的资源,而现代的操作系统允许多道程序同时调入内存并发执行,便要求对各种程序提供更加严格的控制和功能划分。这便产生了进程的概念。程序的并发执行多道程序的并发执行是指在内存中存放多道程序,它们在操作系统的控制下,在CPU上交替进行(因此我们前面说的是,宏观上程序并发执行,微观上轮流执行)。在计算问题中,有些操...原创 2018-10-17 16:10:15 · 799 阅读 · 0 评论 -
挑战408—— 操作系统(2)——用户态与内核态
操作系统内核操作系统的内核是指在计算机硬件上扩充的第一层软件。通常是一些与硬件紧密相关的模块。内核的实现是通过原语实现的,而原语又是由原子操作构成的。原语是由若干指令构成的,用于完成一定功能的过程。而原子操作是指在这过程中的行为 ,要么全做,要么不做,不可中断(以保证操作的完整性)。操作系统主要包含以下功能:时钟管理(以后会讲)中断处理(下篇会讲)原语操作(刚刚提到的)核心态与用...原创 2019-10-18 10:42:21 · 1197 阅读 · 2 评论 -
挑战408——操作系统(1)——介绍一下操作系统这个东西
在开篇我们提到过,操作系统的工作就相当于管理者的工作。操作系统是一种系统软件,它的任务是控制和管理计算机系统中的资源(包括硬件和软件资源)。控制是说系统要合理的组织和调度计算机的工作和资源的分配并且提供给用户和其他软件方便的接口环境。操作系统不是单一的程序,它是一个程序集合。操作系统的特征操作系统是一种系统软件,主要的特点有并发性,共享性,虚拟性,不确定性。 - 并发性。并发性是指两个或者两个...原创 2019-10-18 10:36:00 · 1084 阅读 · 0 评论