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

本文详细介绍了操作系统的基本原理,涵盖了进程管理、内存管理和文件系统等方面。重点讨论了进程的状态与转换、同步与互斥机制,如信号量和PV操作。同时,阐述了操作系统结构,包括整体结构、层次结构、客户/服务器结构。此外,还涉及了内存管理的分页、分段和虚拟存储技术,以及不同类型的存储管理策略。最后,简述了文件系统的组织结构和存储空间管理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



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操作来改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值