操作系统 --概述(含思维导图)(一)

思维导图

目录

一、操作系统的概念

二、操作系统的功能--作为系统资源的管理者

1、 进程管理

2、 内存管理

3、 文件管理

4.、设备管理

三、操作系统的功能--作为用户和计算机硬件之间的接口

1、命令接口(用户直接使用):

2、程序接口(用户通过程序间接使用)

3、GUI:图形用户接口

四、操作系统的特征

1、并发

2、共享

3、虚拟

4. 异步

并发和共享的关系

五、OS发展和分类  --图

六、操作系统的运行机制

1、两种指令:

2、两种处理器状态:

3、两种程序:

七、操作系统的内核

1、时钟管理

2、中断机制

3、原语

大内核和微内核

八、中断分类

1、外中断

2、 异常

3、陷入

九、系统调用

1、什么是系统调用?

2、什么作用?

3、系统调用与库函数的区别


一、操作系统的概念 

  • 控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配(中间往两边看)
  • 提供给用户和其他软件方便的接口和环境。(从下往上)
  • 是计算机系统中最基本的系统软件。(从上往下)

二、操作系统的功能--作为系统资源的管理者

1、 进程管理

进程控制、进程同步、进程通信、死锁处理、处理机调度等。

2、 内存管理

内存分配、地址映射、内存保护与共享、虚拟内存等。

3、 文件管理

文件存储空间的管理、目录管理、文件读写管理和保护等。

4.、设备管理

完成用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率。主要包括缓冲管理、设备分配、设备处理、虛拟设备等

三、操作系统的功能--作为用户和计算机硬件之间的接口

1、命令接口(用户直接使用):

  • 联机命令接口(指令):用户说一句,系统做一句
  • 脱机命令接口(批处理命令):用户说一堆,系统做一堆

2、程序接口(用户通过程序间接使用)

由一组系统调用命令组成(程序接口=系统调用=广义指令)

用户通过在程序中使用这些系统调用命令来请求操作系统为其服务

程序接口:如c: \Windows\System32\user32. dll程序员在程序中调用user32. dll (该调用过程即为系统调用)即可实现创建窗口等功能。只能通过用户程序间接使用。

3、GUI:图形用户接口

四、操作系统的特征

1、并发

  • 并发:两个或多个事件在同一时间段发生。宏观看同时发生,微观看是交替发生
  • 并行:两个或多个事件在同一时刻同时发生

并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。操作系统通过引入进程和线程,使得程序能够并发运行

2、共享

共享:即资源共享,系统中资源可以被多个并发进程共同使用

二种资源共享方式:

  • 互斥共享:系统中的某些资源,虽然可以供给多个进程使用,但一个时间段内只允许一个进程访问资源
  • 同时共享:系统中的某些资源,允许一个时间段由多个进程 "同时" 对它们进行访问

所谓同时,只是宏观上,微观上这些进程可能是交替的对该资源进行访问

实例:

互斥共享:QQ和微信视频,同一时间段内摄像头只能分配给其中一个进程(还有打印机)。互斥共享的资源称为临界资源,需要用同步机制来实现对临界资源的访问

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

3、虚拟

虚拟技术把一个物理实体转换为多个逻辑实体。主要有两种虚拟技术:时分复用技术和空分复用技术。

  • 虚拟处理器技术:多个进程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占有处理器,每次只执行一小个时间片并快速切换。(这也是为什么单核CPU可以执行多个进程的答案)
  • 虚拟内存技术:虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页置换到内存中。

虚拟和并发的关系:如果失去了并发性,则一个时间段只执行一个程序,那么就是去了虚拟的意义。因此没有并发就谈不上虚拟

4. 异步

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

异步和并发关系:如果失去并发,系统只能串行执行各个进程,每个进程会贯彻到底。只有系统拥有并发才可能导致异步性

并发和共享的关系

使用QQ发送文件A,同时使用微信发送文件B:

1、两个进程并发执行(并发性)。如果失去并发性,系统只有一个程序允许,则共享性失去意义

2、需要共同访问硬盘资源(共享性)。如果失去共享性,QQ和微信不能同时访问硬盘资源,也就无法并发

并发和共享互为存在条件,没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的最基本特征


五、OS发展和分类  --图


六、操作系统的运行机制

计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序,一种是用户程序。前者是后者的管理者,因此“管理程序” 要执行一些特权命令,而 “被管理者程序” 出于安全考虑不能执行这些指令。所谓特权指令,是指计算机中不允许用户直接使用的指令,如I/O指令,置中断指令,存取用于内存保护的寄存器,送程序状态字到程序状态字寄存器等指令

1、两种指令:

  • 特权指令:如内存清零指令(不允许用户程序使用)
  • 非特权指令:如普通的运算指令

如何判断? 如果指令严重干扰其他程序的执行,则一定是特权指令

2、两种处理器状态:

  • 用户态(目态):此时CPU执行非特权指令
  • 核心态(管态):特权非特权都可以执行

用程序状态字寄存器(PSW)中的某个标志位来标识当前寄存器出去什么状态。如0为用户态,1核心态

3、两种程序:

  • 内核程序:是系统的管理者,特权和非特权指令都可以执行,运行在核心态
  • 应用程序:为了保证程序正常运行,只能执行非特权指令,运行在用户态

七、操作系统的内核

内核是计算机上配置的底层软件,是操作系统最基本,最核心的部分。不同系统对内核的定义稍有区别,大多数操作系统内核包括以下内容。

1、时钟管理

时钟的第一功能是计时,向用户提供标准的系统时间。另外通过时钟中断的管理,实现进程的切换。诸如,在分时操作系统,采用时间片轮转的调度实现;在实时系统中,按截至时间控制运行的实现;在批处理,通过时钟管理来衡量一个作业的运行程度等。因此,系统管理的方方面面无不依赖时钟。

2、中断机制

引入中断技术的初衷是提高多道程序运行环境CPU的利用率。后来逐渐发展,形成多种类型,成为操作系统各项操作的基础。如键盘或鼠标信息输入,进程的管理和调度,系统功能的使用,设备驱动,文件访问等,无不依赖中断机制。考研说操作系统是靠中断驱动的软件

中断机制中,只有一小部分功能属于内核,负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。这样可以减少中断的处理时间,提高系统的并行处理能力。

3、原语

  • 原语是一种特殊的程序
  • 处于操作系统的最底层,是最接近硬件的部分
  • 这些程序的运行具有原子性,其操作必须一气呵成
  • 运行时间短,调用频繁

用于实现进程控制,即实现进程状态的转换

大内核和微内核

  • 大内核:将操作系统主要功能模块都作为系统内核,运行在核心态。由于各模块共享信息,因此有很高的性能。但是内核代码庞大,结构混乱,难以维护
  • 微内核:由于操作系统不断复杂,因此将一部分操作系统功能移出内核,只把最基本的功能保留在内核,从而降低内核的复杂性。但是需要频繁的在核心态和用户态之间切换,性能低。

在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。

八、中断分类

在操作系统中引入核心态和用户态两种工作状态后,就要考虑到如何切换状态。操作系统内核工作在核心态,而用户程序工作在用户态。但操作系统不允许用户程序实现核心态的功能,但它们又必须使用这些功能。因此引入中断和异常,实现从用户态进入核心态。这是通过硬件实现的(例如,用程序状态字寄存器(PSW)中的某个标志位来标识当前寄存器出去什么状态。如0为用户态,1核心态。若要进入核心态,只需要将位置设为1即可

1、外中断

由 CPU 执行指令以外的事件引起,如 I/O 完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。

2、 异常

由 CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。

3、陷入

在用户程序中使用系统调用。

九、系统调用

1、什么是系统调用?

  • 操作系统提供给应用程序(程序员)的接口(可以理解为一种供应用程序调用的特殊函数)。
  • 应用程序通过系统调用来获得操作系统的服务。
  • 系统调用会使CPU从用户态进入核心态。

2、什么作用?

操作系统掌管系统中各种共享资源,因此凡是与资源相关的操作(存储分配,I/O操作,文件管理),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。保证系统的稳定和安全性,防止用户非法操作

注意 :

  • 陷入(陷阱)指令时在用户态执行的,执行后引发中断,CPU进入核心态
  • 陷入指令时唯一一个只能在用户态下下执行,而不可在核心态执行的指令
  • 发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行

3、系统调用与库函数的区别

  • 系统调用是操作系统向上提供的接口。
  • 库函数是高级语言中提供的与系统调用对应的函数(也有些库函数与系统调用无关),目的是隐藏 “访管” 指令的细节,使系统调用更为方便,抽象。但是库函数属于用户程序而非系统调用,是系统调用的上层。
  • 当今编写的应用程序大多都是通过高级语言提供的库函数间接的进行调用系统调用。

如果程序的运行由用户态转到核心态,会用到访管指令(系统调用的时候使用的访管指令又叫陷入指令,trap指令访管指令是在用户态使用的,所以它不可能是特权指令

Linux 的系统调用主要有以下这些:

TaskCommands
进程控制fork(); exit(); wait();
进程通信pipe(); shmget(); mmap();
文件操作open(); read(); write();
设备操作ioctl(); read(); write();
信息维护getpid(); alarm(); sleep();
安全chmod(); umask(); chown();

题目:

1、下列选项中,操作系统提供给应用程序的接口是( ). [2010年计算机联考真题]
A.系统调用  B.中断  C.库函数  D.原语


2、操作系统与用户通信接口通常不包括( )。
A. shell  B.命令解释器C.广义指令   D.缓存管理指令


3、计算机开机后,操作系统最终被加载到( ). [2013年计算机联考真题]
A. BIOS  B. ROM  C. EPROM  D. RAM


1. A
操作系统接口主要有命令接口和程序接口(也称系统调用)。库函数是高级语言中提供的与系统调用兼应的函数(也有些库函数与系统调用无关),目的是隐藏“访管”指令的细节,使系统调用更为方便、抽象。但是,库函数属于用户程序而非系统调用,是系统调用的上层。
2. D
广义指令就是系统调用命令而命令解释器属于命令接口shell 指命令解析器,也属于命令接口。系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用。
3. D
系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区域是RAM部分未复习到组成原理的读者可能对此题的答案并不是太熟悉,但熟悉了组成原理中的各类存储介质之后,相信选对这道题并不难。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包括操作系统各部分内容,适合考试及复习使用。搭配Xmind软件可打开 操作系统的概念、特征、功能和提供的服务   (二)操作系统的发展与分类   (三)操作系统的运行环境   1.内核态与用户态   2.中断、异常   3.系统调用   (四)操作系统体系结构   二、进程管理   (一)进程与线程   1.进程概念   2.进程的状态与转换   3.进程控制   4.进程组织   5.进程通信   共享存储系统,消息传递系统,管道通信。   6.线程概念与多线程模型   (二)处理机调度   1.调度的基本概念   2.调度时机、切换与过程   3.调度的基本准则   4.调度方式   5.典型调度算法   先来先服务调度算法,短作业(短进程、短线程)优先调度算法,时间片轮转   调度算法,优先级调度算法,高响应比优先调度算法,多级反馈队列调度算法。   (三)同步与互斥   1.进程同步的基本概念   2.实现临界区互斥的基本方法   软件实现方法,硬件实现方法。   3.信号量   4.管程   5.经典同步问题   生产者-消费者问题,读者-写者问题,哲学家进餐问题。   (四)死锁   1.死锁的概念   2.死锁处理策略   3.死锁预防   4.死锁避免   系统安全状态,银行家算法。   5.死锁检测和解除   三、内存管理   (一)内存管理基础   1.内存管理概念   程序装入与链接,逻辑地址与物理地址空间,内存保护。   2.交换与覆盖   3.连续分配管理方式   4.非连续分配管理方式   分页管理方式,分段管理方式,段页式管理方式。   (二)虚拟内存管理   1.虚拟内存基本概念   2.请求分页管理方式   3.页面置换算法   最佳置换算法(OPT),先进先出置换算法(FIFO),最近最少使用置换算法(LRU),时钟置换算法(CLOCK)。   4.页面分配策略   5.工作集   6.抖动   四、文件管理   (一)文件系统基础   1.文件概念   2.文件的逻辑结构   顺序文件,索引文件,索引顺序文件。   3.目录结构   文件控制块和索引节点,单级目录结构和两级目录结构,树形目录结构,图形目录结构。   4.文件共享   5.文件保护   访问类型,访问控制。   (二)文件系统实现   1.文件系统层次结构   2.目录实现   3.文件实现   (三)磁盘组织与管理   1.磁盘的结构   2.磁盘调度算法   3.磁盘的管理   五、输入输出(I/O)管理   (一)I/O管理概述   1.I/O控制方式   2. I/O软件层次结构   (二)I/O核心子系统   1.I/O调度概念   2.高速缓存与缓冲区   3.设备分配与回收   4.假脱机技术(SPOOLing)
Scikit-learn是一个用于机器学习和数据挖掘的Python库,它提供了丰富的机器学习算法和工具来解决各种问题。下面是一个关于Scikit-learn机器学习算法的思维导图。 1. 监督学习算法 - 分类算法:使用已知的数据标签进行预测。包括决策树、K最近邻、朴素贝叶斯、支持向量机等。 - 回归算法:预测连续值的算法。包括线性回归、岭回归、Lasso回归等。 2. 无监督学习算法 - 聚类算法:将相似的样本分组。包括K均值聚类、层次聚类、DBSCAN等。 - 降维算法:减少数据维度。包括主成分分析、线性判别分析等。 3. 模型评估和选择 - 交叉验证:将数据集分为训练集和测试集,评估模型的性能。 - 网格搜索:通过穷举搜索参数组合来选择最佳模型。 4. 特征选择和提取 - 特征选择:选择对目标变量有用的特征。包括方差阈值、相关性等。 - 特征提取:从原始数据中创建新的特征。包括主成分分析、独立成分分析等。 5. 模型调整和优化 - 正则化:用于控制模型的复杂性。 - 参数调优:通过调整模型参数以提高性能。 6. 集成方法 - 随机森林:基于决策树的集成方法。 - AdaBoost:自适应增强方法。 7. 自然语言处理 - 文本特征提取:从文本中提取有用的特征。 - 文本分类:将文本划分为不同的类别。 Scikit-learn提供了丰富的机器学习算法和工具,可以帮助我们进行数据分析、预测和模型优化。通过使用这些算法和思维导图,我们可以更加有效地解决各种机器学习问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值