操作系统笔记-01计算机系统概述

简介: 操作系统笔记-01计算机系统概述

操作系统的定义

  • 操作系统负责协调硬件、软件等计算机资源的工作
  • 操作系统为上层、应用程序提供简单易用的服务
  • 操作系统是一种系统软件

操作系统的功能和目标

管理软/硬件资源

  • 处理机管理
  • 存储器管理
  • 文件管理
  • 设备管理

向上层提供服务

封装思想:操作系统把一些硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。

普通用户

  • GUI用户图形界面
  • 命令接口
  • 联机命令接口(交互式命令接口):用户说一句, 系统跟着做一句。如:cmd
  • 脱机命令接口(批处理命令接口):用户说一堆, 系统跟着做一堆。如:*.bat文件。

软件/程序员

  • 程序接口(系统调用):可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。

用户可以通过GUI或命令接口来直接使用操作系统提供的功能;也可以通过应用程序间接使用操作系统提供的功能。

应用程序只能通过系统调用的方式请求操作系统服务。

扩展硬件机器

  • 扩充机器:操作系统对硬件机器进行拓展:将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能。

小结

操作系统的特征

并发

并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。

易混概念——并行:指两个或多个事件在同一时刻同时发生。

操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。

单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行。

多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。

并发性是操作系统一个最基本的特性

共享

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

两种资源共享方式

互斥共享方式

系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源

同时共享方式

系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问

  • 所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)

生活实例:

互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。

同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。而在微观上看,两个进程是交替访问硬盘的。

并发和共享的关系

并发性指计算机系统中同时存在着多个运行着的程序。 共享性指系统中的资源可供内存中多个并发执行的进程共同使用。

如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义;如果失去共享性,则并发程序不能同时访问硬盘资源,也就无法并发。

因此,并发性与共享性互为存在条件

虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。

虚拟技术

  • 空分复用技术(虚拟存储器):内存——硬盘系统一定程度上解决了内存容量不够的问题
  • 时分复用技术(虚拟处理器):微观上处理机在各个微小的时间段内交替着为各个进程服务

如果失去了并发性,则一个时间段内系统中只运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性

异步

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

由于并发运行的程序会争抢着使用系统资源,而系统中的资源有限,因此进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。

如果失去了并发性,即系统只能串行地运行各个程序,那么每个程序的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性

小结

操作系统的发展与分类

操作系统的运行机制

CPU中有一个程序状态字寄存器(PSW),其中有个二进制位,可以表示当前CPU运行的状态是内核态还是用户态。

中断和异常

CPU上会运行两种程序,一种是操作系统内核程序,一种是应用程序

在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序。

中断会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权。

内中断(异常)

内中断也称异常。异常与当前执行的指令有关,中断信号来自CPU内部

例如:应用程序执行陷入指令,会主动将CPU控制权还给操作系统内核。 “系统调用”就是通过陷入指令完成。

此外,异常还包括缺页故障、整数除0、非法使用特权指令等

外中断(中断)

外中断也称中断。中断与当前执行的指令无关,中断信号来自CPU外部

例如:

  • 时钟中断——由时钟部件发来的中断信号
  • I/O中断——由输入/输出设备发来的中断信号

每一条指令执行结束时,CPU都会例行检查是否有外中断信号。

CPU的中断机制实现原理,可见计算机组成原理

小结

系统调用

操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口程序接口。其中,程序接口由一组系统调用组成。应用程序可以通过系统调用来请求获得操作系统内核的服务

编程语言可将系统调用封装成库函数。

凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

比如:两个进程同时通过系统调用,向操作系统内核发出请求使用打印机这种共享资源,操作系统内核会协调两个进程使用打印机,防止混乱发生。

操作系统的体系结构

非内核与内核

大内核与微内核

微内核只包括时钟管理、中断处理、原语(设备驱动、CPU切换)等与硬件联系紧密的功能。

大内核除了拥有微内核提供的功能外,还包括进程/存储器/设备管理等功能,这些功能更多的是对数据结构的操作,不会直接涉及硬件。

小结


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
5月前
|
Python
Python的`os`模块核心功能概述:通过`os.getcwd()`获取
【6月更文挑战第23天】Python的`os`模块核心功能概述:通过`os.getcwd()`获取、`os.chdir()`改变工作目录;使用`os.mkdir()`, `os.makedirs()`创建目录,`os.rmdir()`, `os.removedirs()`删除;`os.rename()`, `os.renames()`重命名文件或目录;`os.remove()`删除文件;`os.listdir()`列出目录内容;`os.path.exists()`, `os.path.isfile()`, `os.path.isdir()`检查路径;`os.stat()`获取文件属性。
89 4
|
4月前
|
存储 算法 Unix
软考中级之数据库系统工程师笔记总结(三)操作系统
软考中级之数据库系统工程师笔记总结(三)操作系统
41 0
|
4月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
5月前
|
调度
操作系统的目标和功能笔记分享
【6月更文挑战第1天】操作系统的目标和功能笔记分享
67 1
|
6月前
|
调度
操作系统的目标和功能笔记分享
【5月更文挑战第3天】操作系统的目标和功能笔记分享
54 2
|
6月前
|
存储 算法 调度
【软件设计师—基础精讲笔记2】第二章 操作系统2
【软件设计师—基础精讲笔记2】第二章 操作系统1
62 1
|
6月前
|
存储 算法 Unix
【软件设计师—基础精讲笔记2】第二章 操作系统1
【软件设计师—基础精讲笔记2】第二章 操作系统
100 1
|
6月前
|
存储 安全 数据处理
【计算机系统组成原理】操作系统处理器深入介绍
【计算机系统组成原理】操作系统处理器深入介绍
|
6月前
|
存储 API 芯片
1.操作系统概述
1.操作系统概述
|
6月前
|
存储 缓存 安全
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解

热门文章

最新文章