操作系统原理课堂笔记——第一章操作系统引论

文章目录

学习前的知识准备

操作系统是计算机硬件和应用之间的一层软件。

操作系统管理那些硬件

CPU管理、内存管理、终端管理、磁盘管理、文件管理(主要学习这五个)、网络管理、电源管理、多核管理
☆判断是否为OS:
管理进程+内存

计算机执行的原理:取址执行

常见操作系统

1.Dos OS

• Disk Operating System,又称DOS(简写),中文全名“磁盘操作系统”。
• 它主要包括Shell(command.com),IO接口(io.sys)两个部分。
• DOS分为核心启动程序和命令程序两个部分。

2.Windows 7

• Windows 7,内核版本号:windows NT 6.1
• 2009年10月22日发布
• 版本:简易版、家庭普通版、家庭高级版、专业版、企业版、旗舰版、史蒂夫.鲍尔默旗舰版
• 2020年1月,微软终止对windows 7所有技术支持

3.Windows 10

• 2015年11月12日正式发布
• Windows 10 采用全新的Modern UI
• 对于符合版本要求的Windows 7、Windows 8.1 和Windows Phone 8.1,可以直接通过Windows Update获取补丁升级。

4.OS X (Mac OS X)

• 2011年7月20日Mac OS X已经正式被苹果改名为OS X。 • Mac OS High Sierra
• 最新版本为10.13.6,2018年7月13日发布
• 四大优点
• 全屏模式
• 任务控制
• 快速启动面板
• 应用商店

5.Linux

• Linux是一套免费使用和自由传播的
类Unix操作系统
• 创始人:林纳斯·托瓦兹 • Linux这个词本身只表示Linux内核
• 应用范围:从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机

6.IOS

• 主要是给iPhone、iPod touch、iPad以及Apple TV使用。
• iOS的系统架构分为四个层次:
• 核心操作系统层(the Core OS layer) 核心服务层(the Core Services layer) 媒体层(the Media layer) 可轻触层(the Cocoa Touch layer)

7.Android

• (读音:[‘ændrɔid])是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。
• 使用Java作为编程语言,使接口到功能。
• 命名以甜点命名

1.1 操作系统的目标和作用

1.1.1 操作系统的目标
1.1.2 操作系统的作用
1.1.3 推动操作系统发展的主要动力

1.1.1 操作系统的目标

操作系统的概念

• 操作系统是计算机系统中的一个系统软件,是一些程序模块的集合——它 们能以尽量有效、合理的方式组织和管理计算机的软、硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行。
• 操作系统是计算机与用户之间的接口。

操作系统性质
  1. 方便性
    系统将用户使用的高级语言翻译成机器代码或通过OS提供的命令操
    作计算机系统。
  2. 有效性
    提高系统资源的利用率;提高系统的吞吐量。
  3. 可扩充性
    便于修改和增加功能(如何设计?)微内核结构
  4. 开放性
    系统支持世界标准规范,特别是开发系统互联OSI国际标准

1.1.2 操作系统的作用

作用1:OS作为用户与计算机硬件系统之间的接口
作用2:OS作为计算机系统资源的管理者

作用3:OS实现了对计算机资源的抽象
• 操作系统隐藏硬件特性,作为扩充机器
• I/O设备管理软件实现了对计算机硬件操作的第一层次抽象
• 文件管理软件实现了对计算机硬件资源操作的第二层次抽象
• 操作系统采用分层扩充方式

1.1.3 推动操作系统发展的主要动力

(用户需求+硬件技术)
1、不断提高计算机资源利用率
2、计算机体系结构的不断发展(•单处理机OS-多处理机OS-网 络OS-…)
3、方便用户(用户上机、调试程序不方便。如:GUI的出现。)
4、不断提出新的应用需求(工业控制——实时操作系统,VLSI——嵌入式操作系统)
4、器件的不断更新换代(CPU:8位-16位-32位-64
位-…)

1.2 操作系统的发展过程

1.2.1 未配置操作系统的计算机系统
1.2.2 单道批处理系统
1.2.3 多道批处理系统
1.2.4 分时操作系统
1.2.5 实时操作系统
1.2.6 微机操作系统的发展
发展原因
内因:受计算机硬件发展的驱动
外因:受计算机应用的刺激

1.2.1 未配置操作系统的计算机系统

• 时间:1945年——1954年
1.人工方式(电子管)
• 工作过程:
• 用户1:纸带 纸带输入机 计算机 纸带输出机 纸带
• 用户2:………
• 工作方式:
• 编程语言:机器语言。
• 输入输出:纸带或卡片。
• 用户:既是程序员,又是操作员;是计算机专业人员。
• 特点:
①用户独占全机:不出现资源被其他用户占用的情况,资源利用率低;
② CPU等待用户:计算前后,手工装卸纸带或卡片;CPU利用率低
在这里插入图片描述
2.脱机输入/输出方式
• 输入输出由外围机完成。
• 优点:
(1)减少了CPU的空闲时间。
(2)提高了I/O速度。

1.2.2 单道批处理系统(Simple Batch Processing System(1955年——1965年))

(晶体管)

1.单道批处理系统的处理流程

2. 提交的作业资料

• 用户程序、数据和作业说明书(作业控制语言JCL)

3. 特征

• 自动性、顺序性、单道性

4.工作方式

• 编程语言:汇编语言、FORTRAN语言。
• 输入输出:磁带。
• 用户:第一次在程序员、操作员和维护员之间有了明确的分工。

5. 进步之处

• 减少了CPU的空闲时间、提高了I/O速度,从而提高了CPU的利用率。

6. 不足之处

• 系统资源得不到充分的利用
• I/O速度仍显慢,使CPU许多时间空闲,无交互能力

1.2.3 多道批处理系统(Multiprogrammed Batch Processing System(1966年——今))

宏观——并行 微观——串行
1.多道程序设计的基本概念

• 多道:系统中同时驻留多个作业,多个作业交替地运行

2. 特点

• 多道性,无序性,调度性

3. 优点

(1)资源利用率高。
(2)系统吞吐量大。

4. 缺点

(1)平均周转时间长。
(2)无交互能力。

5. 多道批处理系统需要解决的问题

(1) 处理机争用问题。
(2) 内存分配和保护问题。
(3) I/O设备分配问题。
(4) 文件的组织和管理问题。
(5) 作业管理问题。
(6) 用户与系统的接口问题。

1.2.4 分时系统(Time-sharing System)

• “分时”的定义:指把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片 。

1.分时系统的引入

• 用户的需求
• 共享主机
2. 分时系统在实现中的关键问题
• 及时接收:多路卡和收入缓冲区
• 及时处理:作业直接进入内存,采用轮转运行方式
3.分时系统的特征
• 多路性
• 独立性
• 及时性 • 交互性
4. 典型的分时系统:
• 早期:CTSS, MULTICS 现代:Windows,UNIX, Linux

1.2.5 实时系统(Real Time System)

• 实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对 该事件的处理,并控制所有实时任务协调一致地运行。

1. 实时系统的分类

(1) 工业(武器)控制系统。
(2) 信息查询系统。
(3) 多媒体系统。
(4) 嵌入式系统。

2. 实时任务的类型

(1)周期性任务划分:
• 周期性实时任务
• 非周期性实时任务
(2) 软硬任务划分:
• 硬实时任务
• 软实时任务

3. 实时系统与分时系统特征的比较

(1) 多路性(分时:分时原则。实时:周期性)
(2) 独立性(分时:多用户互不干扰。实时:对对象控制互不干扰)
(3) 及时性(分时:能接受的时间。实时:对象要求的截止时间,毫秒级)
(4) 交互性(分时:数据处理。实时:实时命令 ) (5) 可靠性(分时:可靠。实时:高度可靠)

1.2.6 微机操作系统的发展

  1. 单用户单任务操作系统
    • CP/M(1974年) • MS-DOS(1981年)
  2. 单用户多任务操作系统
    • Windows系列(1985年)
  3. 多用户多任务操作系统
    • Solaris OS(1982年) • Linux OS(1991年)

1.3 操作系统的基本特性

1.3.1 并发(concurrence)
1.3.2 共享(Sharing)
1.3.3 虚拟(Virtual)
1.3.4 异步(Asynchronousm)

1.3.1 并发

1. 并行与并发

• 并行性是指两个或多个事件在同一时刻发生。
• 并发性是指两个或多个事件在同一时间间隔内发生。
• 并行是一种微观的同时性概念。
• 并发是一种宏观上的同时性概念:宏观上并发,微观 上交替占用CPU运行。

2.系统中的并发

• CPU与各个I/O设备之间的并行
• 各应用程序“进程”之间的并发

3.引入进程

• 引入进程是为了实现系统中的并发。
• 引入线程

1.3.2 共享

• 共享指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。

1. 互斥共享方式

• 互斥就是排他性。在一段时间内只允许一个进程访问
• 临界资源(独占资源):在一段时间内只允许一个进程访问的资源。

2. 同时访问方式

• 多个进程同时访问。宏观上“同时”,微观上“轮流”(交替访问)
• 磁盘、可重入代码

1.3.3 虚拟

• 虚拟指通过某种技术把一个物理设备实体变为若干个逻辑上的对应物的功能。

1.时分复用技术

• 虚拟处理机技术
• 虚拟设备技术

2.空分复用技术

• 利用存储器的空闲空间分区域存放和运行程序。
• 磁盘分区方式

1.3.4 异步

• 异步性(Asynchronism)
• 异步性是指进程以不可预知的速度向前推进
• 异步性是指在并发环境下程序的执行顺序、开始时间和执行时间是不确定性(不可准确预
知)。以“走走停停”方式运行。
• 多道程序环境下程序的执行是以异步方式进行的,即每个程序在何时执行,多个程序间的
执行顺序以及完成每个程序所需的时间都是不确定的,因而也是不可预知的

1.4 操作系统的主要功能

1.4.1 处理机管理功能
1.4.2 存储器管理功能
1.4.3 设备管理功能
1.4.4 文件管理功能
1.4.5 操作系统与用户之间接口
1.4.6 现代操作系统的新功能

1.4.1 处理机管理功能

1. 进程控制
2. 进程同步(重要)

• 进程互斥方式
• 进程同步方式

3. 进程通信
4. 调度

• 作业调度
• 进程调度
• 线程调度

1.4.2 存储器管理功能

1. 内存分配

• 内存分配数据结构
• 内存分配功能:静态分配方式和动态分配方式
• 内存回收功能

2. 内存保护
3. 地址映射
4. 内存扩充

• 请求调入功能
• 置换功能

1.4.3 设备管理功能

1. 缓冲管理

• 缓和cpu和设备速度不匹配的矛盾

2. 设备分配

• 按照分配策略,为进程分配所需的设备

3. 设备处理

• 设备驱动程序实现

1.4.4 文件管理功能

1. 文件存储空间的管理

• 存储空间的分配和回收

2. 目录管理

• 树形目录,按名存取

3. 文件的读/写管理和保护

• 文件的读/写管理
• 文件的保护
• 防止未经核准的用户存取文件
• 防止冒名顶替存取文件
• 防止以不正确的方式使用文件

1.4.5 操作系统与用户之间的接口

1. 用户接口

• 联机用户接口
• 脱机用户接口
• 图形用户接口

2. 程序接口

• 为用户程序在实行中访问系统资源而设置的。

1.4.6 现代操作系统的新功能

1. 系统安全

(1) 认证技术
(2) 密码技术
(3) 访问控制技术
(4) 反病毒技术。

2. 网络的功能和服务

(1) 网络通信
(2) 资源管理
(3) 应用互操作

3. 支持多媒体

(1) 接纳控制功能
(2) 实时调度
(3) 多媒体文件的存储

1.5 OS结构设计

1.5.1 传统操作系统结构
1.5.2 客户/服务器模式简介
1.5.3 面向对象的程序设计技术简介
1.5.4 微内核OS结构

1.5.1 传统操作系统结构

1. 无结构操作系统

• 设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。
• 整个操作系统是一个过程集,每个过程完成某种功能。
• 每个过程都可以调用其它过程。 • 存在问题:
• 系统庞大而杂乱,程序错误较多
• 程序难以阅读和理解

2. 模块化结构操作系统

• 通过“分解”和“模块化”来控制大型软件复杂度。
• 如:进程模块、内存模块…,各模块内进一步划分子模块
• 模块独立性(高内聚低耦合)
    • 内聚性
    • 耦合度
• 优点:
    • 提高了OS设计的可维护性
    • 增强的OS的可适应性
    • 加速了OS的开发过程:并行开发模块
• 缺点:
    • 接口不易确定
    • 模块依赖关系可能复杂(对于大型软件而言)

3. 分层式结构OS

• 将系统按照层次结构划分为若干“层”。某一层次上代码只能调用低层次上的代码,使模
块间的调用有序化
• 优点:
    • 1)易保证系统的正确性
    • 2)易扩充和易维护性
• 缺点:
    • 降低了运行效率;各系统对具体划分多少层次有不同的看法。

1.5.2 客户/服务器模式简介

1. 客户/服务器模式的组成和类型

(1) 客户机 (2) 服务器
(3) 网络系统

2. 客户/服务器之间的交互

3. 客户/服务器模式的优点

(1) 数据的分布处理和存储
(2) 便于集中管理
(3) 灵活性和可扩充性
(4) 易于改编应用软件

4. 客户/服务器模式的缺点

• 存在不可靠性和瓶颈问题

1.5.3 面向对象的程序设计

1. 面向对象技术的基本概念

• 对象
• 对象类
• 继承

2. 面向对象技术的优点

• 通过“重用”提高产品质量和生产率
• 使系统具有更好的易修改性和易扩展性
• 更易于保证系统的“正确性”和“可靠性”

1.5.4 微内核OS结构

1. 微内核操作系统的基本概念

• 足够小的内核
• 基于客户/服务器模式
• 应用“机制与策略分离”原理
• 采用面向对象技术

2. 微内核的基本功能

• 进程(线程)管理
• 低级存储器管理
• 中断和陷入处理

3. 微内核操作系统的优点

• 提高系统的可扩展性
• 增强了系统的可靠性
• 可移植性
• 提高了对分布式系统的支持
• 融入面向对象技术

4. 微内核操作系统存在的问题

• 效率降低(上下文切换次数增多)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

King✪ω✪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值