• 计算机操作系统引论(操作系统)


    目录

    一、操作系统的目标

    二、操作系统的作用

    三、操作系统的基本特性

    四、操作系统的主要功能

    五、操作系统的结构设计


    一、操作系统的目标


    操作系统(Operating System,OS)计算机硬件第一层软件,是计算机必备配置的最基本、最重要的系统软件。

    1、有效性


    有效提高CPU和I/O设备利用率;提高的方法:合理地组织计算机的工作流程

    2、方便性


    可使计算机系统更容易使用

    3、可扩展性


    OS为了能适应发展的要求,比具有良好的可扩展性;如何才有可扩充性?例如:采用新的OS结构,如微内核结构和客户服务器模式

    4、开放性


            计算机网络,特别特别是LAN的迅速发展,使OS的应用环境由单机转向网络环境。为使不同厂家的计算机和设备能通过网络加以集成化,并能正确、有效地协同工作,实现应用的可移植性和互操作性,必须具有统一的开放环境,进而要求OS具有开放性。

            开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。

    二、操作系统的作用


    从用户观点看,OS是用户和计算机硬件系统之间的接口

    从资源管理观点看, OS是计算机系统资源(软、硬)的管理者 

    操作系统的作用:

    1OS作为用户和计算机硬件系统的接口

    2OS作为计算机资源的管理者

    3OS实现了对计算机资源的抽象


    1、操作系统作为用户和计算机硬件系统的接口


    用户可以通过三种方式使用计算机

    命令方式(键盘命令)

    图标、窗口方式GUI

    系统调用方式程序接口

    2、操作系统作为计算机资源的管理者


    计算机系统资源可归结为四类:处理器、存储器、I/O设备、文件/信息(数据和程序)

    OS的主要功能也正是针对这四类资源进行有效管理:

    处理机管理:分配和控制处理机

    存储器管理:主要是内存分配和回收

    I/O设备管理:I/O设备的分配与操纵

    文件管理:文件的存取、共享和保护

    3、操作系统实现了对计算机资源的抽象


    完全无软件的计算机——裸机。裸机难于使用。

        

        裸机覆盖了一层I/O设备管理软件如图1-2所示,由它来实现对I/O设备操作的细节,并向上提供一组I/O操作命令,如ReadWrite命令,用户可以利用它进行数据输入/输出,而无需关心I/O实现的细节。

        为了方便用户使用文件系统,又在第一层软件上再覆盖一层用于文件的管理软件,用它来实现对文件操作的细节,并向上提供一组对文件进行存取操作的命令。第二个层次的抽象

    三、操作系统的基本特性


    1、并行与并发 


    并行性——两个或多个事件在同一时刻发生。

    并发性——两个或多个事件在同一时间间隔内发生。

            在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却只能有一道程序执行,故微观上这些程序只能是分时地交替执行。若计算机系统中有多个处理机,则这些可以并发执行的程序可被分配到多个处理机上,实现并行执行。

    进程简述


          

            通常的程序是静态实体,它是不能并发执行的。为了使程序能并发执行,系统必须分别为每个程序建立进程Process)。

            进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个活动实体。

            多个进程之间可以并发执行和交换信息。

    关于进程和线程的基本概念


    在OS中引入进程的目的,是使多个程序能并发执行。

    进程和并发是现代OS中最重要的基本概念,也是OS运行的基础。

    比进程更小的单位 ——线程(Threads)。

    一个进程通常包含若干线程。

    近年来推出的OS 都引入了线程。

    2、共享


    共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。

    目前主要有以下两种资源共享方式:

    1互斥共享方式

    对于临界资源,要求被互斥地共享;

    2同时访问方式

    允许在一段时间内由多个进程同时对它进行访问。这里所说的同时往往是宏观上的,而微观上,这些进程可能是交替地对该资源进行访问。

    并发和共享是操作系统的两个最基本的特征,它们是互为存在条件的。

    资源的共享是以进程的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;

    若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。

    3、虚拟


    虚拟——是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。

    操作系统中利用了两种方式实现虚拟技术,即时分复用技术和空分复用技术,分别用来实现虚拟处理机虚拟内存虚拟外部设备虚拟信道等。

    4、异步性


            内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需要多少时间才能完成等等,都是不可预知的。此即进程的异步性。

    四、操作系统的主要功能


    1、处理机管理功能


            在传统的多道程序设计系统中,处理机的分配和运行,都是以进程为基本单位的,因而对处理机的管理,可以归结为对进程的管理

            在引入线程的OS中,还包含对线程的管理。

    创建和撤消进程(线程)                                 ----进程控制

    对诸进程(线程)的运行进行协调                   ----进程同步

    实现进程(线程)之间的信息交换                   ----进程通讯

    按照一定的算法把处理机分配给进程(线程) ----进程调度

    2、存储器管理


    存储器管理应具有以下功能:

    内存分配(静态、动态分配方式)

    内存保护(硬件检查越界,软件处理)

    地址映射(逻辑、物理地址,硬件支持)

    内存扩充(虚拟存储技术)

    3、设备管理功能


    设备管理功能主要任务: 

    完成进程提出的I/O请求;

    为用户进程分配其所需的I/O设备;

    提高CPU和I/O设备的利用率;

    提高I/O速度;

    方便用户使用I/O设备。

    设备管理应具有以下功能:

    1、缓冲管理——在设备和CPU之间引入缓冲,可有效地缓和CPUI/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统的吞吐量。

    2、设备分配——按某种策略将设备分配给用户进程。需设备控制表等数据结构。

    3、设备处理——设备处理程序又称为设备驱动程序。基本任务是实现CPU与设备控制器通信:CPU I/O命令;设备控制器发中断请求。

    4、文件管理


    主要任务

    对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。

    文件管理应具有以下功能:

          1.文件存储空间的管理

          2.目录管理

          3.文件的读/写管理和保护  

    5、用户接口


    命令接口(联机命令、脱机命令)

    程序接口(系统调用)

    图形接口(GUI)

    五、操作系统的结构设计


    微内核OS结构——现代OS结构


          

            微内核结构能有效地支持多处理机运行,故非常使用于分布式系统环境。Windows NT采用微内核结构。

            在与微内核技术发展的同时,客户/服务器技术面向对象技术也在迅速发展,把它们应用到基于微内核结构的OS中,便具有了以微内核为OS核心,以客户/服务器为基础,并且采用了面向对象的程序设计方法的特征。

    1、微内核技术


    微内核技术——是指精心设计的、能实现现代OS核心功能的小型内核。

    1)足够小的内核

    微内核是指精心设计的、能实现现代OS最基本的核心功能的部分。

    2基于客户/服务器模式

    OS的最基本部分放在内核中,把OS的绝大部分功能放在内核外面的一组服务器(进程)中实现。

    3)应用“机制与策略分离”原理

    所谓机制,是指实现某一功能的具体执行机构。

    策略是在机制基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。

    机制处于系统的低层,而策略处于系统的高层。

    传统OS将机制放在内核低层,策略放在内核高层。

    微内核OS将机制放在微内核中,策略放在微内核外。

    4)采用面向对象技术

    2、微内核的基本功能


    1)进程(线程)管理

    2)低级存储管理

    3)中断和陷入处理

    3、微内核的优点与缺点


    优点:

    1)提高了系统的可扩展性

    2)增强了系统的可靠性

    3)可移植性

    4)提供了对分布式系统的支持

    5)融入了面向对象技术

    缺点:

    6)微内核OS的运行效率有所降低。

  • 相关阅读:
    Day1:面试必考题目
    可执行文件的装载与进程
    MySQL(存储过程,store procedure)——存储过程的前世今生 & MySQL存储过程体验 & MybatisPlus中使用存储过程
    Hive中内部表、外部表、分区表、分桶表之间的关系
    每天五分钟机器学习:函数间隔与几何间隔以及平行和重合的问题
    力扣(LeetCode)315. 计算右侧小于当前元素的个数(2022.11.12)
    Dubbo初次使用(广播形式)
    Linux 网络请求和下载
    无人自动驾驶技术研发中具有重要性
    Go实现CORS(跨域)
  • 原文地址:https://blog.csdn.net/qq_50942093/article/details/127460186