操作系统
文章平均质量分 85
mxrrr_sunshine
这个作者很懒,什么都没留下…
展开
-
操作系统-进程状态
进程的生命周期划分进程创建进程执行进程等待进程抢占进程唤醒进程结束进程创建:系统初始化用户请求创建一个新的进程正在运行的进程执行了创建进程的系统调用进程执行选择一个就绪的进程,让他占用处理机并开始执行进程等待请求并等待系统服务,无法马上完成。启动某种操作,无法马上完成。需要的数据还没有到达。进程抢占高优先级进程以及就绪当前执行的时间片用完进程唤醒需要的资源被原创 2018-03-18 15:19:02 · 304 阅读 · 0 评论 -
操作系统-段式,页式,段页式存储管理
非连续内存分配在连续内存分配,缺点非常明显:分配给程序的物理内存必须连续。存在内碎片,外碎片。动态修改困难。内存利用率低非连续内存分配的好处是: 提高内存利用效率和管理灵活性段式存储管理进程的段地址空间由多个段组成。主代码段子模块代码段共用库代码段堆栈段堆数据初始化数据段符号表等目的:更细粒度和灵活的分离与共享将逻辑地址空间转换为不连续的段地址空间: 段:段表示访问方式原创 2018-04-29 13:58:44 · 1191 阅读 · 0 评论 -
操作系统-内存管理与内存分区
内存管理的需求主要是以下几点,做以了解:重定位保护共享逻辑组织物理组织重定位:由于内存是被多进程共享的。那么在在某个程序运行期间,谁也不知道会有其他那些程序驻留在内存中。所以,有时会将那些暂不需要的进程换出内存。恢复时,如果要恢复到切换之前的同一内存地址会非常困难,所以就要将进程进行重定位到内存的不同区域。保护:每个进程都应该收到保护,这是毋庸置疑的,以免被其他进程干扰到自己的正常执行。原创 2018-04-29 00:03:05 · 1431 阅读 · 0 评论 -
操作系统-页面置换算法
置换算法当出现缺页异常时,需调入新页面而内存已满时,置换算法选择被置换的物理页面。要在该过程中,尽可能减少页面的调入调出次数。把可能就需要将未来不再访问或短期内不在访问的页面调出。 评价方法:模拟页面置换算法,记录产生缺页的次数。更少的缺页,更好的 性能。最优页面置换算法基本思路:置换在未来最长时间内不会被访问的页面。 实现:缺页时,计算内存中每个逻辑页面的下一次访问时间。选择未来最长时间不访问原创 2018-04-30 16:44:52 · 270 阅读 · 0 评论 -
操作系统-死锁产生,预防,避免,检测
从以下几个方面总结了死锁的相关概念:死锁产生的条件死锁的预防策略死锁避免的方法死锁检测死锁条件说死锁条件之前先要谈一个问题:可重用资源和可消耗资源 可重用资源 资源通常分为两类:可重用资源和可消耗资源。可重用资源是指一次仅供一个进程安全使用且不因使用而耗尽的资源。进程得到资源单元并使用后,会释放这些单元供其他进程继续使用。可重用资源的例子包括:处理器,i/o通道,内存...原创 2018-04-20 17:44:28 · 1177 阅读 · 0 评论 -
操作系统-虚拟存储
为什么要虚拟存储我们直到,内存虽然快但是容量小,且价格高。所以我们出于理想化,就会对内存产生更高的需求,比如我们希望有一种容量更大,速度更快,价格更偏移的非易失性的存储器。实际中的存储器的层次结构: 覆盖和交换覆盖技术:在较小的可用内存中允许较大的进程。 方法:依据程序逻辑结构,将程序划分为若干功能相对独立的模块,将不会同时执行的模块共享同一块内存区域。 也就是说,将常用的部分装入内存中,使它原创 2018-04-29 14:48:54 · 284 阅读 · 0 评论 -
操作系统-进程调度算法
进程调度的任务进程调度的任务有三: 1. 保存处理机的现场信息。 2. 按某种算法选取进程。 3. 把处理器分配给进程。进程调度机制为了实现进程调度,在进程调度机制中,应具有如下三个基本部分,排队器:为了提高进程调度的效率,应事先将系统中所有就绪进程按照一定的策略排成一个或多个队列,以便调度程序可以最快找到它。分配器:分配器一依据进程调度信息所选定的进程,将其从就绪队列取出,然后进行原创 2018-03-13 23:24:18 · 1125 阅读 · 0 评论 -
操作系统-生产者/消费者模型
生产者/消费者问题这是一个著名的进程同步问题。描述为: 有一群生产者进程在生产产品,并将这些产品提供给消费者进程去消费。为使生产者进程与消费者进程能并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区中;消费者进程可从一个缓冲区取走产品去消费。所有的生产者进程和消费者都要互斥地访问公共缓冲区。即仓库一次只允许一个人进入。 不允许消费者进程到一个空缓冲原创 2018-04-06 23:31:10 · 547 阅读 · 0 评论 -
操作系统-并发:互斥与同步
并发的原理在多道程序设计系统种,进程会被交替执行,进而在宏观上表现出一种并发的外部特征。 为什么需要并发? 假设一个支持单用户的单处理器多道程序设计系统,用户可以从一个应用程序切换到另一个应用程序,每个应用程序都使用同一键盘输入,使用同一键盘输出。 由于每个程序都需要使用某一个输入输出过程,所以将他视为一个共享过程,载入到所有应用程序的共用全局存储区。 但是,这样问题就出来了,一旦第一个进程原创 2018-03-30 17:55:13 · 1969 阅读 · 0 评论 -
操作系统-理解信号量
信号量信号量是一种常用的并发机制。基本原理: 两个或多个进程可以通过简单的信号合作,可以强迫一个进程在某个位置停止,直到它接收到一个特定的信号。任何复杂的合作都可以通过适当的信号结构得到满足。为了发信号,需要使用到一个信号量的特殊变量。要通过信号量s传送信号,进程必须执行semSignal(s)(V操作),要通过信号量s接收信号,进程必须执行原语semWait(s)(P操作);若相应的...原创 2018-04-05 23:01:23 · 2491 阅读 · 2 评论 -
操作系统-理解线程概念
在学习了进程的相关概念之后,这次引入了线程的概念。 从以下几点来讨论线程:什么是线程线程与进程(区别与联系)线程的分类线程的优缺点什么是线程首先要来看一张图,这张图在前面进程时画过很多次,就不再赘述了。 常规而言:一个pcb对应着一个虚拟地址空间,通过页表映射到物理内存中。 然后我们又知道,vfork出的子进程是共享地址空间的。 所以:假设我今天vfork出三个进程出原创 2018-04-17 23:15:56 · 922 阅读 · 0 评论 -
操作系统-进程控制
执行模式大多数处理器至少支持两种执行模式。某些指令只能再特权模式下执行,某些内存区域也只能再特权模式下访问。 非特权模式一般称为用户模式,因为用户程序通常再该模式下运行; 特权模式称为系统模式,控制模式或内核模式。为什么需要两种模式? 答案当然是为了安全。 就像在进程描述中学到的进程控制块是可以被操作系统中多个模块访问并修改的,这样就有可能对进程产生影响,或是反过来由于进程控制块收到原创 2018-03-24 13:49:08 · 786 阅读 · 0 评论 -
操作系统-进程描述
操作系统的控制结构操作系统为了管理进程和资源,必须掌握每个进程和资源的当前状态。 最普遍采用的一张方法是:操作系统管理并维护其管理的每个实体的信息表。大致可以分为四类:内存,i/o,文件,进程。以后的学习中将会着重对这四部分内容学习。 如上图所示,操作系统会为如上实体维护信息表,在此目前只研究进程,其余的在以后的学习会再介绍。进程控制结构操作系统在管理和控制进程时,首先需要知道进程的位置(它原创 2018-03-23 14:44:29 · 285 阅读 · 0 评论 -
操作系统-进程概念与进程控制块
进程在学习操作系统时,对于进程我们经常能看到如下几个定义:一个正在执行的程序。一个正在计算机上执行的程序实例。能分配给处理器并由处理器执行的实体由一组执行的指令,一个当前状态和一组相关的系统资源表征的活动单元。以上定义都是很抽象的,将进程的概念总结如下。进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。所以我们可以把进程看作由一组元素组成的实体,其...原创 2018-03-13 15:58:49 · 7780 阅读 · 0 评论 -
操作系统-浅识冯诺依曼体系
冯诺依曼结构冯诺依曼体系结构是当前大多数计算机采用的结构体系,所以我们就要具体了解这种体系结构是如何工作的。首先可以看到冯诺依曼体系由五大部分组成:输入设备输出设备存储器运算器控制器输入设备:包括常见的鼠标键盘,打印机,扫描仪等等。 输出设备:包括显示屏,音响,话筒等等。 存储器:这里存储器仅指内存,磁盘等均属于外存。 运算器+控制器:被集成在cpu上。特点1计算机有运算器、存储器原创 2018-03-13 11:43:00 · 317 阅读 · 0 评论 -
Linux的虚拟存储及动态内存管理及共享内存
物理内存与虚拟内存虽然应用程序操作的对象是映射到物理内存之上的虚拟内存,但是处理器直接操作的却是物理内存。所以当用程序访问一个虚拟地址时,首先必须将虚拟地址转化成物理地址,然后处理器才能解析地址访问请求。地址的转换工作需要通过查询页表才能完成,概括地将,地址转换需要将虚拟地址分段,使每段虚拟地址都作为一个索引指向页表,而页表则指向下一级别的页表或者指向最终的物理页面。 linux中使...原创 2018-07-26 16:28:01 · 912 阅读 · 0 评论