系统分析员考试复习笔记-3:第三章 操作系统基本原理

本文主要是介绍系统分析员考试复习笔记-3:第三章 操作系统基本原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



1.      第三章操作系统基本原理(P116

1.1.      操作系统概述

一般操作系统包括:处理器管理、存储器管理、设备管理、文件管理和用户接口等5种功能。

  1. 对处理机的分配和运行进行有效的管理。在多道程序环境下,处理机的分配和管理是以进程为单位的。因此处理机管理,可以归结为进程管理。

  2. 存储器管理,对内存的分配、保护和扩充。

  3. 设备管理,设备分配(采用缓冲和虚拟技术),设备传输控制(物理的输入输出,I/O),设备独立性(用户向操作系统申请的设备与实际的操作设备无关)。

  4. 文件管理,对文件的存储空间管理,包括存储空间的分配和回收,目录管理、文件操作管理和文件保护等。

  5. 用户接口,使用操作系统功能的手段;分为程序接口和操作接口。

    操作系统的类型

    可分为:单用户操作系统、批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、并行操作系统和嵌入式操作系统。【注:分类标准很混乱】

  1. 单用户操作系统,一台处理机上只能支持一个用户程序的运行。

  2. 批处理操作系统,作业处理系统。分为单道批处理系统和多道批处理系统。

  3. 分时操作系统,为了解决批处理系统无法进行人机交互的问题,并使多个用户通过自己的终端以交互的方式使用计算机,共享主机中的资源。系统采用分时技术,将CPU的时间划分成很短的时间片,轮流分配给各个终端作业使用。

  4. 网络操作系统,具有网络功能的操作系统,主要特点是网络中各种资源的共享和各台计算机间的通讯。

  5. 分布式操作系统,各台计算机间相互合作,共同完成一个任务。网络操作系统的高级形式,与网络操作系统的区别是,在于任务的分布性,即把大任务分成多个小任务,并分派到不同的CPU上执行。

  6. 嵌入式操作系统,运行在嵌入式智能芯片环境中。

    操作系统的结构

    从结构看,主要有整体结构、层次结构、客户/服务器结构和面向对象结构。

  1. 整体结构,也称为模块组合结构或无序结构,是基于结构化程序设计的设计方法,开发的操作系统。模块作为操作系统的基本单位,每个模块具有一定独立的功能,若干个相关联模块协作完成某个功能。模块之间无序调用。所有的模块连接成一个完整的操作系统。

  2. 层次结构,将操作系统划分为内核和若干模块(或进程),这些模块按功能的调用次序排列成若干层次,各层之间是单向依赖或者单向调用关系,即低层为高层服务,反之不能。缺点建立模块间的通信机制,模块间通讯花费很大。

  3. 客户服务器结构,现代操作系统大多拥有两种工作状态,分别是核心态和用户态。一般应用程序工作在用户态,内核模块和最基本的操作系统核心工作在核心态。也称为微内核结构。大多操作系统功能由在用户态的服务器进程来实现。客户进程将请求发给服务器进程,服务器进程将处理结果返回服务器进程。服务器进程不能直接访问硬件。主要优点:

  1. 统一的接口。

  2. 可伸缩性好

  3. 可移植性好,所有与具体机器特征的相关代码,全部隔离在微内核中。

  4. 实时性好。

  5. 安全可靠性高

  6. 支持分布式系统

  1. 面向对象结构

    进程管理

    进程是进行资源分配和调度的基本单位。

    进程是通过物理实体被感知的,进程的物理实体又称为进程的静态描述,通常由三部分组成,分别是程序、数据集合和进程控制块(Process Control BlockPCB)。程序描述了进程所要完成的功能,数据集合描述了程序运行所需要的数据部分和工作区;PCB包括进程的描述信息、控制信息和资源信息,是进程动态特性的集中反映。程序和集合是进程存在的物质基础,是进程的实体;PCB是进程存在的标志,进程与PCB是一对一的关系,操作系统利用PCB对并发执行的进程进行控制和管理。

    进程的状态

    进程与程序不同,它是活动的且有状态变化的。

  1. 三态模型

    具有三种基本的状态,分别是运行、就绪和阻塞,入下图:

    程序加载后处于就绪状态,分配的CPU时间片到,进入运行状态,CPU时间片到,回到就绪状态;在运行状态中,如果需要等待某事件,进入阻塞状态,事件条件满足后,进入就绪状态。

    运行状态:进程占有处理机正在执行程序的状态。

    阻塞状态:也称为等待状态或睡眠状态,是进程等待某个事件发生而处于暂停执行的状态。

    就绪状态:进程已经分配到除处理机以外的资源,具备执行条件,等待处理机调度的状态。

  2. 五态模型

    由于进程的不断创建,系统资源尤其是内存资源不能满足所有进程的要求。这时必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以负载均衡。挂起原因,可能是系统故障,或调试程序等等。

    活跃就绪,指进程在内存并且可被调度状态。静止就绪,对换到外存时的就绪状态,是不能直接被调度的状态。

    活跃阻塞和静止阻塞同理。

    信号量与PV操作

    在多道程序中,由于资源共享与进程合作,使各进程间产生两种形式的制约关系,一种是间接制约,例如都需要访问打印机,执行打印操作;另外一种是直接制约,例如进程A通过缓冲区为进程B提供数据。

    进程同步主要源于进程合作,是进程之间共同完成一项任务时直接发生相互作用的关系。在多道程序中,这种在执行次序上的协调时必不可少的。

    进程互斥主要源于资源共享,是进程之间的相互制约关系。在多道程序中,每次只允许一个进程访问的资源成为临界资源,进程互斥要求保证每次只有一个进程使用临界资源。

    在每个进程访问临界资源的程序段,称为临界区,进程进入临界区需要满足一定的条件,以保证临界资源的安全使用了系统的正常运行。临界区是进程在时间上互斥。即同一时间只允许一个进程执行。

     

    【注:在访问临界资源时,需要说明的是临界区的大小,因为CPU是按照分时执行进程的,当进程拥有临界区的资源后(进程在执行临界区的代码),CPU被分配到其他的进程上,此时临界资源,对于其他的进程也是无法访问的。JVM的监视器模型,实际上是一个面向对象化的临界区和临界资源,拥有监视器,即拥有对象锁,也意味着进入了临界区,此时资源,只允许临界区的代码访问;即此时其他的进程应该无法进入临界区,即执行临界区的代码,控制的机制实际上就是信号量,通过信号量来控制临界资源的当前的数量,和允许那些进程进入到临界区中。同理,在监视器模型中,线程(在这里只限于同步代码,线程和线程是存在明显区别的)请求对象锁(类似于信号量),对象锁未被拥有,线程进入监视区,拥有该监视器(整体执行监视器的代码,中途不会将将CPU的时间片,分配给其他的线程;进程则是同判断,决定其他的进程是否执行临界区的代码,在同一个信号量下,保证临界区的代码只能有一个进行执行),可以执行对象的方法,注意,仅仅该对象的方法,其他的对象不包括在内,因为没有拥有其他对象的监视器,线程执行完成后,执行notify,通知其他线程,可以申请该对象的监视器。监视器monitor,即监视对象执行的监视区域的代码,即拥有监视器,才能执行监视区域的代码,和锁的概念不同,锁没有代码区。监视器是按照对象来区分的,如果在一个对象的监视区内,调用其他对象的方法,此时线程执行其他对象的方法,如果该方法,不需要拥有监视器,则同样按照线程分时去执行。即不会整体执行。】

  1. 信号量

    信号量作为进程同步和互斥的工具。进程互斥,即临界区代码的访问。资源互斥,即不能对资源同时访问。

    信号量是一个二元组(S,Q),其中S是一个整型变量,初值为非负,Q为一个初始状态为空的等待队列。在多道程序系统中,信号量是一种有效的实现进程同步与互斥的工具。信号量的值通常表示某类资源的数目,当它大于0,表示系统当前可用的资源数据量;当它小于0,表示系统中等待使用该资源的进程数量,即在Q队列上排队的PCB数量。信号量的值是可变的,由PV操作来改变。

这篇关于系统分析员考试复习笔记-3:第三章 操作系统基本原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/195077

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

hdu 2093 考试排名(sscanf)

模拟题。 直接从教程里拉解析。 因为表格里的数据格式不统一。有时候有"()",有时候又没有。而它也不会给我们提示。 这种情况下,就只能它它们统一看作字符串来处理了。现在就请出我们的主角sscanf()! sscanf 语法: #include int sscanf( const char *buffer, const char *format, ... ); 函数sscanf()和

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit