Operating System
文章平均质量分 92
zy2317878
博观约取,厚积薄发,温故知新!
展开
-
操作系统学习-2. 操作系统的基本特性与主要功能
操作系统学习-2. 操作系统的基本特性与主要功能写在前面:这一篇博客主要记录操作系统的基本特性与主要功能。由于主要功能中资源管理部分在后面的学习过程中每一部分都会展开详细介绍,所以在这里着重学习OS作为用户接口功能的部分。操作系统的基本特性:OS具有并发、异步、共享和虚拟这四个基本特性。其中并发是最重要的特性。其他三个特性都以并发为前提。原创 2017-12-09 20:47:05 · 1173 阅读 · 0 评论 -
操作系统学习-9.线程
写在前面:这一部分学习线程的相关概念,由于教学视频上关于线程讲的不多,所以会根据书中内容进行一定的补充。线程的使用也是编程一个重要的技巧。在这里学习基本概念,有个印象。实际使用时还需要根据具体使用的语言与业务环境去进行系统的重新学习。线程的基本概念线程(Threads)是比进程更小的能独立运行的基本单位。可以提高系统内程序并发执行的程度,从而进一步提高系统的吞吐量。线程的引入原创 2018-01-06 16:55:53 · 422 阅读 · 0 评论 -
操作系统学习-19.离散分配方式
写在前面连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。如果允许将一个进程直接分散地装入到许多不相邻接的分区中,则无须再进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式;如果离散分配的基本单位是段,则称为分段存储管理方式。在分页存储管理方式中,如果不具备页面对换功能,则称为基本的分...原创 2018-01-24 19:27:56 · 4557 阅读 · 0 评论 -
操作系统学习-13.死锁的原因与必要条件
写在前面:在多道程序系统中,虽可借助于多个进程的并发执行来改善系统的资源利用率,提高系统的吞吐量,但可能发生一种危险——死锁。死锁(Deadlock),是指多个进程在运行过程中因争夺资源而造成的一种僵局(DeadlyEmbrace)。在前面介绍把信号量作为同步工具时已提及到,若多个 wait 和 signal 操作顺序不当,会产生进程死锁,关于信号量的知识可参考: 操作系统学习-6. 信号量。原创 2018-01-17 15:05:15 · 807 阅读 · 0 评论 -
操作系统学习-1. 操作系统的目标和作用
写在前面:这个类别将记录我学习操作系统的学习笔记。会将视频讲解与书本内容进行内容提炼。每天学习一点,坚持下来会有收获。这篇主要记述操作系统的目标与作用,回顾操作系统发展历程。概念居多,了解即可。操作系统的目标:1.有效性:包含两个方面的含义: (1)提高系统资源利用率。使CPU与I/O设备保持忙碌状态而得到有效利用。使内存与外存中的数据因有序而节省空间。 (2)提高系统吞吐量。原创 2017-12-09 15:47:36 · 6061 阅读 · 3 评论 -
操作系统学习-15 银行家算法
写在前面最有代表性的避免死锁的算法,是 Dijkstra 的银行家算法。这是由于该算法能用于银行系统现金贷款的发放而得名的。为实现银行家算法,系统中必须设置若干数据结构。银行家算法中的数据结构四种数据结构中,i表示进程编号,j表示可利用资源编号。假定系统中有n个进程,m类可使用资源。(1) 可利用资源向量 Available。 这是一个含有 m 个元素的数组,其中的每一个元素原创 2018-01-18 19:37:47 · 988 阅读 · 1 评论 -
操作系统学习-14 预防死锁与死锁解除
写在前面如前所述,详情见:操作系统学习-13.死锁的原因与必要条件,预防死锁和避免死锁这两种方法实质上都是通过施加某些限制条件,来预防发生死锁。两者的主要差别在于:为预防死锁所施加的限制条件较严格,这往往会影响进程的并发执行;而为避免死锁所施加的限制条件则较宽松,这给进程的运行提供了较宽松的环境,有利于进程的并发执行。预防死锁预防死锁的方法是使四个必要条件中的第 2、3、4 个条件原创 2018-01-17 21:28:57 · 574 阅读 · 0 评论 -
操作系统学习-16 存储器与程序的装入与链接
写在前面目前为止,我开始进入新的一章的学习——存储器管理的学习了。不知不觉已经学了进程管理与处理机管理这些知识了,回过头看看感觉自己的博客总结的还是不错的,但是呢,总结不错的也要重新温习一遍才能掌握这些最基础的知识。目前还是保持学习节奏,尽量在年前完成操作系统基本知识的学习,并将博客复习一遍。说回来,这篇博客将首先整理一下存储器的基础知识,然后学习程序的装入与链接等知识。多级存储器结构原创 2018-01-19 22:06:39 · 678 阅读 · 0 评论 -
操作系统学习-20.基本分段储存与虚拟存储器
写在前面好久没有继续操作系统的学习了,可能是一方面单独听课太无聊了吧。今天开始重新继续这门课的学习(了解),这也体现了写博客的好处嘛,开了这个类别,总得完满才行。现在还有一个想法,为了避免只看书不实践,操作系统的课听完了可以去学习Linux操作系统,正好最近有所接触。分段存储管理方式的引入引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:方便编程:用户把自己的...原创 2018-04-12 19:55:11 · 969 阅读 · 0 评论 -
操作系统学习-8.进程通信
写在前面:有三周左右时间没有继续操作系统的学习了。现在开始继续学习。之前学习了三种代表性的进程同步问题,了解了三个问题,具体可以参看操作系统学习-7. 经典的进程同步问题。 今天将总结进程通信问题要点。这一部分知识以概念居多,注意整理的结构性。进程通信:进程通信,是指进程之间的信息交换,其所交换的信息量少者是一个状态或数值,多者则是成千上万个字节。进程之间的通信分为低级通信与高级通信。原创 2018-01-06 15:28:18 · 1239 阅读 · 0 评论 -
操作系统学习-10.处理机调度层次与队列模型
写在前面:这一部分开始第三章处理机相关内容的学习。处理机是最重要的计算机资源,在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目。要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。处理机调度的层次:在多道程序系统中,一个作业被提交后必须经过处理机调度后,方能获得处理机执行。对于批量型作业而言,通常需要经历原创 2018-01-08 22:03:41 · 1298 阅读 · 0 评论 -
操作系统学习-18. 可重定位分区分配与对换
写在前面这一篇博客与前一篇博客内容连续,这一篇博客主要讨论可重定位分区分配与进程对换的相关知识,也是以理解概念为主要任务。多看几遍,就能搞懂。动态重定位的引入在连续分配方式中,必须把一个系统或用户程序装入一连续的内存空间。如果在系统中只有若干个小的分区,即使它们容量的总和大于要装入的程序,但由于这些分区不相邻接,也无法把该程序装入内存。图1. 紧凑的示意 若想把作业装入,原创 2018-01-23 10:37:01 · 4976 阅读 · 0 评论 -
操作系统学习-4. 进程控制
操作系统学习-4写在前面:这一部分开始学习进程的控制.进程控制是进程管理中最基本的功能.它用于创建一个新进程,终止一个已完成的进程,或终止一个因出现某事件而无法运行下去的进程,还可以负责进程运行中的状态转换.进程控制一般是由OS的内核中的原语来实现的.原创 2017-12-11 21:43:32 · 765 阅读 · 0 评论 -
操作系统学习-5. 进程同步
操作系统学习-5. 进程同步写在前面:这一篇博客主要学习进程同步的知识。进程同步的主要任务是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。原创 2017-12-13 10:49:55 · 539 阅读 · 0 评论 -
操作系统学习-3. 进程的基本概念
操作系统学习-3. 进程的基本概念写在前面:这一篇博客将学习进程的基本概念。原创 2017-12-11 11:03:10 · 598 阅读 · 0 评论 -
操作系统学习-6. 信号量
操作系统学习-6. 信号量写在前面:这一篇博客将讨论信号量(Semaphores)机制。将学习三种基本类型的信号量,然后将用信号量实现互斥与前趋两种进程关系。原创 2017-12-13 15:37:45 · 4012 阅读 · 0 评论 -
操作系统学习-7. 经典的进程同步问题
操作系统学习-7. 经典的进程同步问题写在前面:在这一篇博客,我们将学习经典的进程同步问题,较有代表性的是“生产者—消费者”问题、“读者—写者”问题、“哲学家进餐”问题,通过对这些问题的研究和学习,可以帮助我们更好地理解进程同步的概念及实现方法。原创 2017-12-13 21:25:45 · 1496 阅读 · 0 评论 -
操作系统学习-11.调度算法的准则与种类
写在前面:这一部分学习调度方式的若干准则。在一个操作系统的设计中,应如何选择调度方式和算法,在很大程度上取决于操作 系统的类型及其目标。例如,在批处理系统、分时系统和实时系统中,通常都采用不同的调度方式和算法。选择调度方式和算法的准则,有的是面向用户的,有的是面向系统的。在系统学习这些知识之前,可以先看一个生活中常见的故事。用打开水来理解这些算法一栋楼里有一个开水间,大家都要去开原创 2018-01-11 21:12:59 · 3257 阅读 · 0 评论 -
操作系统学习-12.实时调度
写在前面:这一部分学习一下实时调度算法的基本知识,这部分内容以记忆理解为主。实时调度主要用于对实时要求有特殊要求的系统中,在实时系统中都存在着若干个实时进程或任务,它们用来反应或控制某个(些)外部事件,往往带有某种程度的紧迫性,前面所介绍的多种调度算法并不能很好地满足实时系统对调度的要求,为此,需要引入一种新的调度,即实时调度。实时调度的基本条件实时调度必须能满足实时任务对截止时间的要原创 2018-01-14 20:05:17 · 2249 阅读 · 0 评论 -
操作系统学习-17. 内存的连续分配方式
写在前面连续分配方式,是指为一个用户程序分配一个连续的内存空间。又可把连续分配方式进一步分为单一连续分配、固定分区分配、动态分区分配以及动态重定位分区分配四种方式。单一连续分配这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给 OS 使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部原创 2018-01-20 21:38:25 · 1597 阅读 · 0 评论 -
操作系统学习-21.基本分段储存与虚拟存储器
写在前面继续操作系统的整理,每天看一节课,然后整理。保持这个节奏,每天都做一些无害的事情,就挺好的呢。请求分页存储管理方式请求分页便成为目前最常用的一种实现虚拟存储器的方式。请求分页系统是建立在基本分页基础上的,为了能支持虚拟存储器功能而增加了请求调页功能和页面置换功能。相应地,每次调入和换出的基本单位都是长度固定的页面,这使得请求分页系统在实现上要比请求分段系统简单(后者在换...原创 2018-04-21 14:28:35 · 626 阅读 · 0 评论