操作系统笔记知识点 (一)

操作系统:(软件)

<>一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合

 

多道批处理

操作员: -> 外存 -> (每次往内存输入多道程序),--- > 内存 -> (操作系统正式诞生,并引入了中断技术,由操作系统负责管理这些程序的运行。 各个程序并发程序)

如虚拟处理机就是此技术实现的。

多道: 共享CPU 提高资源利用率。

多道、非抢占式 ,多道抢占式 优先级先。

 

操作系统四个特性

并发:※

计算机系统中同时存在多个程序

宏观上: 一段时间内,多个程序同时在执行。

微观上: 任何时刻只有一个程序在执行。(微观上多个程序在CPU上轮流执行)并发的反义是顺序,并行的反义是串行。并发并行并不是互斥概念,只不过并发强调任务的抽象调度,并行强调任务的实际执行。

思考: 并发和并行的区别

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

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

tips: 操作系统没有实现并行性。 操作系统 是 并发特性。

 

共享:

计算机系统中的资源可被多个并发执行的用户程序和系统程序共同使用。

互斥共享: 在一段时间内只允许一个进程访问临界资源, 如 打印机。 我用你不能用。

同时访问:在一段时间内可供多个进程“同时”访问的非临界资源:如:磁盘。

虚拟:

通过某种技术将一个物理实体变为多个逻辑上的对应物。

虚拟处理机: 一台处理机虚拟为多台处理机 (多道批处理技术实现的)

虚拟设备: 一台设备虚拟为多台设备

虚拟存储器:在逻辑上扩大存储器容量

异步:

以不可预知的速度向前推进,称为异步性

由于资源等因素的限制,并发执行的过程都不是“一气呵成”,而是以“停停走走”的方式运行。

 

操作系统的分类

  1. 批处理os 2. 分时 3. 实时 4 个人计算机os 5. 网络os 6. 分布式

传统操作系统结构:

  1. 无结构

  1. 模块化结构os

  2. 分层式结构os 裸机 + 软件 + 添加 扩充 再添加 软件····

 

客户/服务器模式(C/S)OS 两部分:

一、运行在用户态并以客户/服务器方式活动的进程;

二、运行在核心态的内核。

面向对象的程序设计

各类实体如进程、线程、消息、存储器和文件等,都使用对象的概念,出现了进程对象、线程对象、存储器对象和文件对象等。

微内核OS结构

微内核:把OS结构中的内存管理、设备管理、文件系统等功能尽可能地从内核中分离出来,变成几个独立的非内核模块,而在内核只保留少量最基本的功能,使内核变得简洁可靠 。

微内核并非是一个完整的OS,而只是OS中最基本的部分。

 

OS功能:

(1) 处理机管理功能

在多道程序或多用户的情况下,要组织多个作业同时运行,即需要完成处理机资源的分配、调度和回收等功能

处理机调度的单位可为进程或线程

由于处理机调度策略不同,出现不同类型的操作系统,如批处理系统、分时系统、实时系统

 

(2) 存储管理功能

对内部存储器进行分配,保护和扩充

  • 内存分配:分配内存,以保证系统及各用户程序的存储区互不冲突

  • 存储保护:保证一道程序在执行过程中不会有意或无意地破坏另一道程序,保证用户程序不会破坏系统程序

  • 内存扩充:当用户作业所需要的内存量超过计算机系统所提供的内存容量时,把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器

 

(3) 设备管理功能

设备管理是通道、控制器和输入输出设备的分配和管理,以及实现设备独立性

  • 通道、控制器、输入输出设备的分配和管理:设备管理的任务就是根据一定的分配策略,把通道、控制器和输入输出设备分配给请求输入输出操作的程序,并启动设备完成实际的输入输出操作。为了尽可能发挥设备和主机的并行工作能力,常需要采用虚拟技术和缓冲技术

  • 设备独立性:输入输出设备种类很多,使用方法各不相同。设备管理应为用户提供一个良好的界面,而不必去涉及具体的设备特性,以使用户能方便、灵活地使用这些设备。

 

(4) 文件系统管理(信息管理)功能

这里要做的就是,信息的共享、保密和保护

如果系统允许多个用户协同工作,那么就应该允许用户共享信息文件。但这种共享应该是受控制的,应该有授权和保密机制

保证系统安全可靠:有一定的保护机制以免文件被非授权用户调用和修改,即使在意外情况下,如系统失效、用户对文件使用不当,也能尽量保护信息免遭破坏

 

(5) 提供用户接口功能

用户接口的目标是:提供一个友好的用户访问操作系统的接口。

操作系统向上提供两种接口:

  • 程序一级的接口:提供一组广义指令(或称系统调用、程序请求)供用户程序和其他系统程序调用。

  • 作业一级的接口:提供一组控制操作命令(或称作业控制语言,或像Linux、UNIX中的shell命令语言)供用户去组织和控制自己作业的运行。

通过这些命令和调用,向操作系统提出申请,由操作系统调用内部功能来

完成相应的操作

 

 

 

posted @ 2021-03-10 10:40  Leo-aiolia-bao  阅读(66)  评论(0)    收藏  举报