加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

操作系统学习—— 操作系统结构

发布时间:2022-11-16 18:07:43 所属栏目:Unix 来源:互联网
导读: 第一部分 结构
俯视OS
操作系统做什么的
硬件系统的组成
计算机系统的体系结构
现代操作系统的特征
操作系统的服务类别
系统调用
操作系统结构
操作系统做什么的
定义:操作系统是一个程序

第一部分 结构

俯视OS

操作系统做什么的

硬件系统的组成

计算机系统的体系结构

现代操作系统的特征

操作系统的服务类别

系统调用

操作系统结构

操作系统做什么的

定义:操作系统是一个程序,起到了连接计算机用户和计算机硬件的中介。

使用户方便地使用计算机

使计算机硬件高效率运行

硬件系统的组成

如图所示的硬件设施

一个或数个CPUs,加上一些设备控制器,通过内部总线连接在一起。它们共享内存。

这些CPUs和设备并行执行,并且竞争使用内存的访问周期。

安装unix系统_unix系统结构_哪些unix系统

操作系统结构.png

上图是普通PC机的体系结构。CPU是机器的核心,与下面的memory由总线连接。总线连接有三类:

地址总线。

数据总线。

控制信号。

计算机系统的体系结构

计算机系统从下层到上层共有4层

硬件 —— 提供基本的计算资源

CPU,内存,I/O设备等

操作系统

应用程序

用户

计算机系统的4个层次

安装unix系统_哪些unix系统_unix系统结构

计算机系统的4个层次.png

由图我们可见:

硬件是最底层。完全被操作系统所包裹,上层的系统软件,应用软件无法直接和硬件直接打交道。用户无法直接操纵硬件。提供基本资源。

上面一层就是操作系统。必须通过操作系统调用硬件,提供对硬件的管理。

再往上为系统软件和应用软件。

顶层为用户。上面两层的划分并没有那么严格。

★★重点:现代操作系统的特征

多程序,Multiprogramming

任何一个用户程序的操作,都必须由CPU执行指令,I/O作输入输出。两者缺一不可。

问题:

对用户程序来讲,当CPU提供指令,I/O一般停止。而I/O作输入输出时,CPU需要等待I/O完成,后面指令无法执行。而操作系统追求设备高效率使用,如果两者必须有一方停止,则非常影响CPU的效率。

想法:

在计算机内存空间里装两道程序。当一个程序不用CPU只用I/O的时候,启动另一个程序,使其使用CPU,完成对CPU效率的提高。理想情况下,CPU一直在使用。

引入多程序的概念:

有两道以上程序可以驻留内存(给了CPU即可运行,即操作系统正在处理的程序)unix系统结构,可以支持这种状态的可称之为——多程序(Multiprogramming)。

这样使得我们可以使用作业调度器。每次选择一个作业,交于CPU执行。

当这个作业被迫等待时(例如有I/O操作),CPU转向另一个作业。

多程序系统内部布局

安装unix系统_哪些unix系统_unix系统结构

多程序系统内部布局.png

多任务(Multitasking),分时系统(Timesharing)

概念:

扩展了多程序思想。多程序强调多个程序驻留内存,当需要执行的时候,将程序交于CPU处理即可。而现在则要求CPU更快速地在作业之间切换。这样,作业总是能及时地得到CPU,响应用户的交互操作,这称之为交互式计算。

响应时间(Response time)必须在1秒之内。

每个用户至少有一道作业在内存中执行,由此产生了进程。

如果存在两个以上的进程等待CPU执行,则需要CPU调度。

如果内存空间装不下进程,则需要换入,换出从操作。

虚拟内存管理,使得小内存也能运行大进程。

操作系统若干操作特征

中断驱动的硬件操作

软件申请,软件操作错误等,将产生异常,或陷入

面临

“无限循环”问题

进程干扰其他进城问题

进程干扰OS问题

等等

(对于上面这些名词先熟悉了解,有个印象)

CPU提供Dual-mode机制,实现OS自我保护

CPU的Mode bit=1,变为内核态,用户程序无论如何无法访问CPU。

操作系统的服务类别

一类服务直接帮助用户

用户界面(UI)—常见UI类别:

1.Command-Line(CLI)

2.Graphics User Interface(GUI)

3.批处理(Batch)

程序执行 — 使OS能够装入程序到内存,执行驻留内存的程序,结束程序的执行,以及出错时的异常处理。

I/O操作

文件系统相关操作

进程间通信

1.通过共享内存实现通信

2.通过消息传递实现通信

出错检测 - OS必须随时应对系统出错

1.出错可能由硬件引起,如CPU,内存,I/O设备

2.对于各种出错,OS必须有合适的处理程序

3.OS应该提供调试,查错工具。

另一类服务确保系统共享资源的高效运作

资源分配

记账 — 跟踪哪些用户使用了多少资源,使用了哪些资源

保护和安全

系统调用

操作系统编程界面

通常用高级语言(C/C++)实现

程序通常以Application Program Interface(API)使用,而不是直接使用系统调用。

3大流行API:WIN32 API,POSIX API,JAVA API。

API-System Call-OS之间的关联

哪些unix系统_安装unix系统_unix系统结构

API-System Call-OS之间的关联.png

由图可见,用户使用Open()函数产生翻转,CPU Mode Bit=1,进入内核态,产生真正的系统调用。在系统内部再次使用Open()函数,产生真正的open动作。最后返回指令return跳回到用户态(即open()代码),再用一个return函数得到相应的结果。

操作系统结构

简单结构

哪些unix系统_unix系统结构_安装unix系统

MS-DOS层次结构.png

以MS-DOS为代表,占用极小的内存空间,提供大部分OS功能。

不区分模块,有一些数据结构,但

是并没有很好地分离界面,层次化组织OS功能。

层次化方法,以UNIX为例

哪些unix系统_安装unix系统_unix系统结构

UNIX层次.png

微内核结构

将OS的功能模块转移至用户态空间

剩下的,就是微内核

这种做法容易升级,移植OS至不同类型CPU,体系结构。但是用户态空间与内核态空间之间的通信频繁,性能开销大。(即)

模块

现代操作系统要求我们必须可以动态地装入和卸载,即可以将一个程序块动态装入,拼接上去。

总结:

第一节课主要讲述了一些概念性的东西,很多东西只是提了一些名词,如进程等,需要在接下来的课程里详细的研究相关名词的含义。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章