首页 > 其他分享 >【操作系统】1.操作系统的基本概念

【操作系统】1.操作系统的基本概念

时间:2024-08-16 16:52:15浏览次数:12  
标签:操作系统 用户 接口 并发 进程 基本概念 资源

1.操作系统的基本概念

1.1. 操作系统的概念

软件是计算机系统的灵魂,而作为软件核心的操作系统,已与现代计算机系统密不可分。

计算机系统自上而下可大致分为4部分:

用户

应用程序

操作系统

硬件

操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介。
硬件如中央处理器、内存输入/输出设备等提供基本的计资源。应用程序如字处理程序、电子制表软件、编译器、网络浏览器等,规定按何种方式使用这些资源来解决用户的计算问题。操作系统控制和协调各用户的应用程序对硬件的分配与使用。在计算机系统的运行过程中,操作系统提供了正确使用这些资源的方法。
综上所述,操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。

1.2.操作系统的目标和功能

操作系统既要能够管理计算机各类软件的运行,充分发挥硬件的作用,又要能够具备用户方便操作的界面,同时,还要支持计算机系统功能的扩充。所以,为了给多道程序提供良好的运行环境,操作系统应具有以下三方面的功能:

  • 操作系统作为计算机系统资源的管理者
  • 操作系统作为用户与计算机系统之间的接口
  • 操作系统实现了对计算机资源的抽象
1.OS作为资源的管理者

(1)处理机管理

在多道程序环境下,外理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。并发是指在计算机内同时运行多个进程,因此进程何时创建、何时撤销、如何管理、如何避免冲突、合理共享就是进程管理的最主要的任务。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。

(2)存储器管理

存储器管理是为了给名道程序的运行提供良好的环境,方便用户使用及提高内存的利用率
主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。

(3)文件管理

计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。

(4)设备管理

设备管理的主要任各是完成用户的请求,方便用户使用各种设备,并提高设备的利用率主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。
这些工作都由“工人”负责,“雇主”无须关注。

2.OS作为用户与计算机系统之间的接口

为了让用户方便、快捷、可靠地操纵计算机硬件并运行自己的程序,操作系统还提供了用户接口。操作系统提供的接口主要分为两类:一类是命令接口,用户利用这些操作命令来组织和控制作业的执行:另一类是程序接口,编程人员可以用它们请求操作系统服务。

(1)命令接口

使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。

联机命令接口:又称交互式命令接口,适用于分时或实时系统的接口。它由一组键盘操作命令组成。用户通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,完成指定的功能。之后,控制权转回控制台或终端,此时用户又可输入下一条命令。联机命令接口可以这样理解:“雇主”说一句话,“工人”做一件事,并做出反馈,这就强调了交互性。

脱机命令接口:又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书上的命令,从而控制作业的运行。脱机命令接口可以这样理解:“雇主”把要“工人”做的事写在清单上“工人”按照清单命令逐条完成这些事,这就是批处理。

(2)程序接口

程序接口由一组系统调用(也称广义指令)组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及甘他各种要求
当前最为流行的是图形用户界面(GUI),即图形接口。GUI最终是通过调用程序接口实现的用户通讨鼠标和键盘在图形界面上单击或使用快捷键,就能很方便地使用操作系统,严格来说,图形接口不是操作系终的一部分,但图形接口所调用的系统调用命令是。

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

裸机仅构成计算机系统的物质基础,它向用户提供的仅是硬件接口,非常难于操作和使用。人们在硬件设备上覆盖一层管理软件,隐藏了设备操作的实现细节,向用户提供了一个对硬件操作的抽象模型。这种覆盖了管理软件的机器被称为扩充机器或虚拟机。

操作系统所提供了资源管理功能和方便用户的各种服务,将裸机改造成功能更强、使用更方便的机器。由此可见,OS就是铺设在计算机硬件上的多层次软件的集合,不能增强了计算机系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机资源的抽象。

1.3. 操作系统的特征

操作系统的基本特征包括并发、共享、虚拟和异步。这些概念对理解和堂握操作系统的核心至关重要,将一直贯穿于各个章节中。

1.并发(Concurrence)

并发是指两个或多个事件在同一时间间隔(时间段)内发生。操作系统的并发性是指计算机系统中同时在在多个运行的程序,因此它且有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的就是使程序能并发地执行。

注意同一时间间隔(并发)和同一时刻(并行)的区别:

并发:关注的是同一时间间隔——即时间段内发生的事件数量,比如午餐时段内,学校餐厅共接纳了2000名同学用餐,那么,该餐厅在午餐时段的并发量就是2000。

并行:并行性是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的工作。比如说,学校餐厅有四个出餐口,那么该餐厅的并行数为4,即同一时间点最多能同时为四名同学打餐。
并行性需要有相关硬件的支持,如多流水线或多处理机硬件环境。

并发性体现系统在某段时间内的工作效率,并行性体现该系统“三心二意”的能力。

在多道程序环境下,一段时间内,宏观上有多道程序在同时执行,而在每个时刻,实际仅有一道程序执行(单处理机环境下),因此微观上这些程序仍是分时交替执行的。操作系统的并发性通过分时得以实现。

2.共享(Sharing)

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为以下两种资源共享方式。

(1)互斥共享方式

系统中的某些资源,如打印机、磁带机,虽然可供多个进程伸用,但为使得所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程访问该资源。为此,当进程A访问某个资源时,必须先提出请求,若此时该资源空闲,则系统便将之分配给进程A使用,此后有其它进程也要访问该资源时,只要A未用完,其它进程就必须等待。仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问。我们把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源,计算机系统中的大多数物理设各及其此软件中所用的栈,变最和表格,都是于临界咨源,它们都被要求互斥地进行享。

(2)同时访问方式

系统中还有另一类资源,这类资源允许在一段时间内由多个进程“同时”访问(这里所说的“同时”通常是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问即“分时共享的)。可供多个进程“同时”访问的典型资源是磁盘设备。

注意,互斥共享要求一种资源在一段时间内(哪怕是一段很小的时间)只能满足一个请求,否则就会出现数据的错乱,比如多个进程同时访问打印机,打印的内容交错地出现在不同的文件上,那太糟糕了!同时访问共享通常要求一个请求分几个时间片段间隔地完成,其效果与连续完成的效果相同。

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

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

②若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行。

3.虚拟(Virtual)

虚拟是指把一个物理上的实体变为若干逻辑上的对应物。物理实体(前者)是实际存在的,而后者是虚的,是用户“感觉上”的现象。用于实现虚拟的技术,称为虚拟技术。操作系统中利用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等。

虚拟处理器技术:通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器。此时,虽然只有一个处理器,但它能同时为多个用户服务,使每个终端用户都感觉有一个中央外理器(CPU)在专门为它服务。利用多道程序设计技术把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟处理器。

虚拟存储器技术:将一台机器的物理存储器变为虚拟存储器,以便从逻辑上扩充存储器的容量。当然,这时用户所感觉到的内存容量是虚的。我们把用户感觉到(但实际不存在)的存储器称为虚拟存储器。

虚拟设备技术:将一台物理Ⅰ/O设备虚拟为多台逻辑上的Ⅰ/O设备,并允许每个用户占用一台逻辑上的/设备,使原来仅允许在一段时间内由一个用户访问的设备(即临界资源)变为在一段时间内允许多个用户同时访问的共享设备。

操作系统的虚拟技术可归纳为两类:

  • 时分复用技术(TDM,Time Division Multiplexing):如处理器的分时共享;
  • 空分复用技术(SDM,Space Division Multiplexing):如虚拟存储器。
4.异步(Asynchronism)

多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性

异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误(就像对全局变量的访问顺序不当会导致程序出错一样)。然而,只要运行环境相同,操作系统就须保证多次运行进程后都能获得相同的结果。

二、常见面试题

1.说明库函数与系统调用的区别和联系。

解答:
库函数是语言或应用程序的一部分,可以运行在用户空间中。而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,而且许多库函数都会使用系统调用来实现功能。未使用系统调用的库函数,其执行效率通常要比系统调用的高。因为使用系统调用时,需要上下文的切换及状态的转换(由用户态转向核心态)。

标签:操作系统,用户,接口,并发,进程,基本概念,资源
From: https://blog.csdn.net/weixin_69595694/article/details/136087167

相关文章

  • 【操作系统】2.操作系统的发展
    2.操作系统的发展2.1.手工操作阶段此阶段无操作系统。用户在计算机上算题的所有工作都要人工干预,如程序的装入、运行、结果的输出等。随着计算机硬件的发展,人机矛盾(速度和资源利用)越来越大,必须寻求新的解决办法。手工操作阶段有两个突出的缺点:①用户独占全机。不会......
  • 操作系统实验学习进度
    最近开始学习操作系统和机组的相关知识,写一个学习进度的笔记作为鞭策,其中的dayn不一定全是一天内完成的,同时,大部分文字来源于学习资料rCore-Tutorial-Book第三版。DAY1-应用程序与基本执行环境HelloWorld的执行过程在Ubuntu上利用cargo创建并执行了最简单的rust程序......
  • 【Linux操作系统】——Linux基本命令3
    1、vi与vim的简介  在Linux下,绝大部分的配置文件都是以ASCII码的纯文本形式存在的,可以利用一些简单的编辑软件修改配置。  在Linux命令行界面下的文本编辑器有很多,比如nano,Emacs,vim等。但是所有的UNIXLike系统都会内置vi文本编辑器,而其他的文本编辑器则不一定存在......
  • 自制操作系统(七、在自制操作系统玩游戏)
    废话不多说,直接上代码[org0x7c00];定义游戏板数组board1db'','',''board2db'','',''board3db'','',''player_turndb'X';玩家'X'的回合star......
  • 数据结构基本概念和术语
    概论1.1基本概念和术语1.1.1基本概念计算机处理的的是数值性数据,当计算机处理用户信息表中的数据的时候,需要弄清3个问题1.数据的逻辑结构数据之间存在怎样的内在联系,数据中,有且只有一个是首节点/尾结点,其他节点有且只有一个相邻的位于它之前和之后的结点2.数据的存储结构......
  • 系统分析师2:操作系统
    文章目录1内容概要2操作系统概述3进程管理3.1进程与线程3.2信号量与PV操作3.2.1基本概念3.2.2互斥模型3.2.3同步模型3.2.4PV操作解题思路3.3前趋图3.3.1相关概念3.3.2例题3.4死锁3.4.1基本概念3.4.2死锁资源数计算问题3.4.3进程资源图3.4.4银行家算法......
  • 【读书笔记-《30天自制操作系统》-2】Day3
    第三天的内容主要在于IPL的实现,在完成IPL之后又为进入32位模式与导入C语言做了准备。1.磁盘结构IPL的作用是读取操作系统程序,所以IPL最主要的工作就是读取磁盘,将程序读取到内存中。先来看一下磁盘的结构与读取方式。磁盘的样子也类似于这样一个圆柱体,实际读取数据时是......
  • 操作系统-进程创建、同步与锁、通信、调度算法-学习笔记
    1.进程的基础概念1.1进程是什么?定义:进程是操作系统管理的一个程序实例。它包含程序代码及其当前活动的状态。每个进程有自己的内存地址空间,拥有独立的栈、堆、全局变量等。操作系统通过进程来分配资源(如CPU时间、内存等)并管理任务的执行。进程vs程序:程序:静态的代......
  • Dllhost.exe 是 Windows 操作系统中的一个进程,通常与 COM+ 服务相关。它的主要作用是
    Dllhost.exe是Windows操作系统中的一个进程,通常与COM+服务相关。它的主要作用是运行COM组件和处理进程间的通信。Dllhost.exe的起源可以追溯到MicrosoftWindows2000和WindowsXP的早期版本。它是Windows操作系统的一部分,主要用于支持COM+(ComponentObjectMode......
  • 软考-软件设计师 (操作系统)
      ......