【操作系统】第一章 绪论
你好呀,这里是初九,感谢你的支持与关注,一起努力学习吧~
本文目录
1.0 导语
1.1 操作系统做什么?
1.2 计算机硬件系统的组成
1.3 计算机系统的体系结构
1.4 OS的执行
1.5 OS的功能
1.6 OS的发展
1.7 OS对一个程序的处理过程
1.8 写在最后
1.0 导语
操作系统是计算机系统的核心和灵魂,是硬件的首次扩充,又是最重要的系统软件,该课程具有承上启下的重要作用。
(1)对前导课程进行总结和提高
计算系统基础、计算机组成原理、数据结构、软件工程
(2)为后继专业课程的学习打下良好基础
嵌入式系统、服务计算、分布式计算、网格计算、云计算等
1.1 操作系统做什么?
【计算机系统】
- 系统软件
(1)实现应用软件与计算机硬件的相互通信;
(2)管理计算机各种硬件资源。
- 应用软件
(1)创建、处理、分析信息;
(2)为终端用户提供服务。
- 计算机硬件
(1)各种计算机硬件设备;
(2)负责接受输入、处理数据、提供输出。
- 终端用户
(1)计算机的最终使用者;
(2)应用软件的服务对象。
【计算机系统分层和观点】
【操作系统的定义】
- 注:没有公认的标准定义
- 操作系统是计算机系统中的一个系统软件,一些程序模块的集合
- 管理和控制计算机系统中的软件和硬件资源
- 合理地组织计算机工作流程
- 在计算机与其用户之间起到接口的作用。
1.2 计算机硬件系统的组成
【计算机系统的运行】
- 一个或多个CPU和若干设备控制器、通过公用总线相连(总线提供了对共享内存的访问)
- CPU和设备并发执行、竞争访问内存
(1)每种设备控制器负责一种特定的设备类型;
(2)每个设备控制器有一个local缓冲寄存器;
(3)CPU在主存和缓冲寄存器之间移动数据;
- 设备通过发出中断通知CPU已完成操作
- 开机时运行引导程序
(1)位于ROM或者EEPROM(电可擦可编程只读内存);
(2)初始化系统各个组件,从CPU寄存器、设备控制器到内存内容;
(3)定位外存硬盘上的操作系统内核并且加载到内存。
- 内核加载到内存开始运行
(1)设置和初始化数据结构与表格、建立各种控制系统内核运行的系统进程和系统后台进程;
(2)等待事件发生;
- 事件发生通过硬件和软件中断来通知
(1)硬件中断的触发:硬件随时通过系统总线发送信号到CPU;
(2)软件中断的触发:程序中发出系统调用;
【中断机制的功能】
- 将控制转移给中断服务程序
(通过中断向量,它包含了所有中断服务程序的入口地址)
- 保存中断指令的地址
(1)在系统堆栈上;
(2)处理完中断,保存的返回地址会加载到程序计数器PC,被中断的程序继续执行。
- 操作系统是中断驱动的
【存储定义与符号】
(1)bit(比特、位)存储的基本单位,所有其他计算机存储都是由位组合而成。位数足够,计算机能够表示各种信息:数字、字母、图像、视频、音频、文档和程序。
(2)Byte(字节)8位、大多数计算机的常用的最小存储。
(3)Word(字)给定计算机架构的常用存储单位,每个字由多个字节组成。计算机的许多操作通常以字为单位。
如:一个具有64位寄存器和64位内存寻址的计算机通常采用64位的字(8字节)
210 bytes = 1KB = 103字节
220 bytes = 1MB = 106字节
230 bytes = 1GB
240 bytes = 1TB
250 bytes = 1PB
【存储结构】
- 内存、高速缓存
计算机系统结构的一部分,由硬件实现,对操作系统不可见(透明)
- 主存
(1)CPU能直接访问
(2)易失性
- 二级存储
(1)主存的扩充、容量大且不易失
(2)硬盘、磁盘
(3)固态硬盘:低功耗、无噪音、体积小、发热量小,读写速度远高于传统硬盘。
- 注意:
(1)CPU只能从内存中加载命令
(2)固态硬盘与U盘一样,依靠的是闪存芯片存储数据,所以不会出现噪音。机械硬盘用久了经常能听到响声,特别是笔记本。
(3)固态与机械硬盘相比体积小了很多,重量特别轻,比如在一些迷你主机或者轻薄本上
(4)达到机械硬盘读写速度的十几倍甚至更高
(5)功耗远远小于机械硬盘,所以发热量更低,至于省电确实能省但是并不多,不过在笔记本上,发热量小就是最好的有点
(6)固态硬盘容量越大价格涨幅越大,如果是移动固态硬盘,那就更加昂贵了。
(7)寿命短于机械硬盘,但是平时无需考虑这个问题,五六年绝对可以。
(8)固态硬盘在丢失数据后更几乎无法恢复,这点确实是比较大的缺点
【存储设备的层次】
- 层次结构成功的关键:低层访问频率递减。
- 存储器的三个特性
(1)容量、存取速度、价格;
(2)存取速度越快,每个“位”的价格越高;
(3)容量越大,每个“位”的价格越低;
(4)容量越大,存取速度越慢。
1.3 计算机系统的体系结构
系统分类:单处理器系统、多处理器系统、集群系统(Clustered Systems)。
【单处理器系统】
- 特点:只有一个处理器
【多处理器系统】
- 优点:增加吞吐量、规模经济、增加可靠性
- 非对称多处理器
(1)主处理器(一个、只运行OS、管理整个系统的资源、为从处理器分配任务);
(2)从处理器(可有多个、执行应用程序或I/O处理)不同性质任务的负载不均,可靠性不够高。
- 对称多处理器
(1)每个处理器都参与完成OS的所有任务,没有主从关系;
(2)任务负载分布较为均匀,性能调节容易;
(3)几乎所有现代OS支持,如Mac OSX、Linux、Windows等。
【集群系统】
- 由两个或多个独立的系统(或节点)组成
(1)每个节点为单核系统或多核系统
(2)集群计算机共享存储
- 高可用性
集群中的一个或多个系统出错,仍可继续提供服务。
- 对称的
(1)两个或多个主机都运行应用程序、并互相监视
(2)充分使用现有硬件、当多个应用程序可供执行时,更有效
- 非对称的
一台处于热备份模式,另一台运行应用程序。
- 应用
(1)高性能计算(High-Performance Computing):并行计算(parallelization),将一个程序分成多个部分,并行运行在各个核上
(2)分布锁管理器(Distributed Lock Manager):多个主机访问共享存储的同一数据。
1.4 OS的执行
【OS执行的内容】
- 现代操作系统是中断驱动的
- 硬件中断:设备发出的
- 软件中断(陷阱或异常)
(1)软件出错(如除数为0、无效的存储访问)、进程试图修改别的进程或OS等
(2)进程发出系统调用,需要OS服务
- OS和多个进程共享计算机系统的软硬件资源,为保证OS的正确运行,区分OS代码和用户代码的运行。
- 多数系统将处理器状态划分为管态和目态。
【双重模式与多重模式的执行】
根据运行程序对资源的机器指令的使用权限划分为:管态、目态。
【管态】
- 特权态、系统态、内核态
- 操作系统程序运行时的状态,较高的特权级别。
可以执行所有的指令(包括特权指令)、使用所有的资源,并具有改变处理器状态的能力。
- 通常,OS在管态下运行。
【目态】
- 普通态、普态、用户态
- 用户程序运行时的状态,较低的特权级别。
- 禁止使用特权指令,不能直接使用系统资源与改变CPU状态,只能访问用户程序所在的存储空间。
【受保护的指令/特权指令】
特权指令:只有操作系统才有权使用的指令。
- 访问某些硬件资源的指令(如,对I/O设备直接访问的指令)
- 对内存管理状态进行操作的指令;
- 某些特殊的状态位的设置指令
- 停机指令
问:CPU如何来判断当前运行的程序是系统程序还是用户程序呢?
答:通过程序状态字PSW
【程序状态字PSW】Program Status Word
- 状态码:管态还是目态,决定是否可以用特权指令或拥有其他的特殊权利。
- 条件码:指令执行后的结果特征值。
- 中断屏蔽码:是否允许中断。
问:CPU工作状态之间如何进行转换?
- 管态——>目态(设置PSW)
- 目态——>管态(系统调用)用户程序无法直接修改程序状态字,通过系统调用实现。
【系统调用】System Call
- OS的内核函数,用户程序通过访管指令,请求OS提供某种服务。
- 当CPU执行访管指令时,引起访管指令;
- 处理器保存中断点的程序执行上下文环境(PSW、PC、其它寄存器),CPU切换到管态(硬件自动完成);
- 中断处理程序开始工作,调用相应的系统服务;
- 结束后,恢复被中断程序的上下文环境,CPU恢复为目态,回到中断点继续执行。
【用户模式到内核模式的转换】
1.5 OS的功能
【五大功能】
- 设备管理:设备分类、设备独立性、I/O软件组成、设备分配、虚设备技术、缓冲技术、通道技术、磁盘调度。
- 文件管理:文件基本概念、磁盘结构、文件目录、文件系统使用、文件系统安全、外存空间管理。
- 存储管理:存储结构概述、磁盘结构、空闲空间管理、存储空间分配、磁盘调度。
- 内存管理:地址变换、内存分配和回收、内外存数据的传输、内存保护和共享、虚拟内存。
- 进程管理:多道程序设计、进程基本概念、进程控制、同步互斥、进程调度、进程通信、进程死锁。
1.6 OS的发展
【发展】
- 发展动力:需求推动
- 设备角度:资源利用率、系统性能
- 用户角度:方便用户
- 技术角度:物理器件发展
【历史】
真空管(1945-1955)→
晶体管和批处理系统(1955-1965)→
集成电路和多道程序设计(1965-1980)→
PC(1980-1995)→
后PC(1955-至今)
【真空管】
- 没有程序设计语言、没有OS(如:ENIAC计算机)
- 程序员提前预约一段时间,然后到机房将他的插件板插到计算机里。
- 祈祷几万个真空管不会烧断,这样才能设计自己的题目。
【晶体管和批处理系统】
- 晶体管计算机,操作系统的雏形——监督程序。
- 把若干个作业合成一批,调入计算机执行,完成后再调入下一批作业。
- 计算机的应用从数值计算扩大到数据处理、工业过程控制等领域。
【多道程序系统】
- 定义:在内存中放多道程序,在管理程序的控制下相互穿插地运行。
- 形成动力:提高资源利用率和系统吞吐量。
- 硬件基础:60年代通道技术、中断技术。
- 特点:
(1)多道:计算机内存中同时存放几道相互独立的程序;
(2)宏观上并行:同时有多道程序在内存运行;某一时间段内,各道程序不同程度向前推进;
(3)微观上串行:任一时刻最多只有一道作业占用CPU(单CPU),多道程序交替使用CPU。
- 优点
(1)资源利用率高
(2)系统吞吐量大(吞吐量:系统单位时间完成的工作总量)
- 缺点
(1)平均周转时间长(作业周转时间:作业进入系统到完成并退出所用时间)
(2)无交互能力
【分时操作系统】
- 定义:在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的键盘,以交互的方式使用计算机,共享主机中的资源。
- 动力:用户需求,交互、共享主机、方便上机。
- 特点:
(1)多路性:允许同一主机连接多台终端。
(2)独立性:每一个用户独占一个终端。
(3)及时性:用户请求能够及时响应。
(4)交互性:可进行广泛的人机对话。
【PC】Personal Computers
- 单用户单任务OS:DOS
- 支持16个任务并发执行:IBM
- 最广泛应用的OS:Windows
【OS的现状】
- 桌面操作系统
Windows、Linux、MacOS等
- 服务器操作系统
Unix/类Unix系列、Windows等
- 智能手机操作系统和平板电脑操作系统
Android、Apple iOS
1.7 OS对一个程序的处理过程
“hello world”在Linux上运行
【程序代码】
【处理过程】
1.用户输入命令,shell进程被唤醒,对命令解析;
·用户敲击键盘后,键入的信息记录在终端设备文件(tty0)上。
·产生键盘中断信号,系统对键盘中断信号进行处理。
·中断服务程序开始执行后,唤醒shell进程,通过进程调度机制,由进程0切换到shell进程去执行。
·shell进程从tty0终端设备文件上读取用户键入的指令信息,解析该指令,并准备进行相应的处理。
2.调用fork创建一个用户进程,对程序进行控制;
创建进程控制块(task_struct),包括:
(1)进程状态、进程对应的文件
(2)进程调度信息
(3)内存管理信息
(4)文件管理信息
3.加载hello world文件对应的程序;
文件系统:解析文件路径、操作目录文件和目录项、操作i节点表等
内存管理:页面引用计数、页面三级管理机制(页目录表、页表、页面)、页面数据、地址映射机制、缺页中断机制。
注:文件和内存是所有进程可以共用的资源,它们之间还存在着更为复杂的管理关系。
如:两个进程加载同一个hello world文件时,涉及要不要共享,如何共享,共享后页面的引用计数如何计算,读写属性如何确定等。
4.程序开始执行,将“hello world”显示在屏幕上。
设备管理:直接与显示器的底层交互。
步骤:
(1)确定操作合法,然后将字符串转换成像素
(2)将像素写入存储映像区
(3)视频硬件将像素表示转换成一组模拟信号控制显示器
(4)在屏幕上看到“hello world”
问:如果没有操作系统,会怎样?
1.即使是在屏幕上显示一行“hello world”,都要写大量复杂的、具有操作系统所具备的功能的程序
2.甚至无法把程序加载到计算机中,更谈不上得到运行结果了。
【OS在应用程序运行时的作用】
即,OS对应用程序的运行做了什么?
1.提供了对外设的支持
2.支持多个程序同时运行(对运行的多个程序进行有效的组织、管理和协调,防止某个程序独占CPU、内存、外设等资源;防止正在运行的程序之间相互读写和相互覆盖,确保所有程序正确运行)
注意:操作系统不能被应用程序直接读写,更不能被应用程序覆盖。
1.8 写在最后
本文是操作系统系列的第一篇,主要概述绪论部分的内容;也是初九2022年的第一篇文,希望你新年快乐( •̀ ω •́ )✧
【操作系统】第一章 绪论相关推荐
- 操作系统--第一章 绪论(408计算机考研)
文章目录 零:考纲 1. 操作系统(OS,Operating System)的概念.特征和层次结构 2.操作系统的发展和分类 3.操作系统的运行环境 4.操作系统的体系结构 一:操作系统的基本概念 1 ...
- Linux操作系统基础教程 第一章 绪论
第一章 绪论 一. Unix 家族中的一员 ① UNIX , 1971 年由 AT&T 发布, 73 年重写, 70 年代末, AT&T 成立了 Unix 系统实验室( Unix Sy ...
- 数据库系统概论-第一章绪论
数据库系统概论-第一章绪论 1.1数据库系统概述 1.2数据模型 1.4数据库系统的组成 1.数据库 2.数据库管理系统(及其开发工具) 3.应用系统 4.数据库管理员 5.(用户) 1.4.1 数据 ...
- 数据库 第一章 绪论
1 数据库系统概述 1.1 数据库的4个基本概念 1.数据(Data) 数据(Data)是数据库中存储的基本对象 数据的定义 描述事物的符号记录 2.数据库(Database) 数据库的定义 数据库( ...
- jBPM3.12用户指南中文翻译----第一章 绪论
这是Jboss 的jBPM3.12框架的用户指南的中文翻译.其中第一章的译文,是我在网上找到的.其他几章都是我自己做的翻译.我的翻译是中英文对照,只翻译部分我认为重要的,不翻译简单的英文,以免浪费你我 ...
- 《机器人学导论--Join J.Craig》第一章 绪论
<机器人学导论–Join J.Craig>第一章 绪论 1.1 背景 1. 机器人取代人:人工成本原来越高,工业机器人的成本越来越低,且无需人工那些福利.待遇等,属于一本万利.随着工业机器 ...
- 人工智能领域中声源定位的研究与发展------第一章 绪论
人工智能领域中声源定位的研究与发展------第一章 绪论 转自: https://blog.csdn.net/jojozhangju/article/details/45157309 版权声明:本文 ...
- 数字图像识别笔记(第一章绪论)
title: 数字图像识别笔记(第一章绪论) categories: 数字图像识别 tags: 数字图像识别 date: 2020/9/29 23:59 mathjax: true toc: true ...
- c++语言编程,一个电灯两个开关控制,[理学]四川大学计算机学院精品课程_面向对象程序设计C++课件_游洪越_第一章绪论.ppt...
[理学]四川大学计算机学院精品课程_面向对象程序设计C课件_游洪越_第一章绪论 主讲教师: 游洪跃 个人主页: /~youhongyue 邮件地址: youhongyao@ 教材:<C++面向对 ...
- 人工智能原理——第一章 绪论
人工智能原理--第一章 绪论 文章目录 人工智能原理--第一章 绪论 1.1 人工智能的发展 人工智能的发展 – 孕育期 人工智能的发展 – 摇篮期 人工智能的发展 – 发展期(1970-1979) ...
最新文章
- 用ffmpeg把H264数据流解码成YUV420P
- ITK:跟踪两个代码执行之间的内存费用
- (转) xcodebuild和xcrun自动化编译ipa包 笔记
- sql服务器文件夹共享,sqlserver2017共享功能目录路径不可改的解决方法
- Redmi K30S更多细节曝光:骁龙865加持 提供多款配色
- unix和linux的区别
- 为什么会有宇宙?宇宙之外会有什么?
- 2013.01.16 Python的面向对象编程
- cocoapods 总结
- chrome支持的java版本下载_安装Chrome Java插件
- 计算Sharp夏普率的python和c++代码
- 银河麒麟桌面操作系统V10 SP1 如何安装字体
- BIM模型文件下载——江湖别墅Revit模型
- Android仿微信朋友圈九宫格图片展示自定义控件,支持缩放动画~
- 【Python】官方文档中文版
- MMD导入unity中使用
- Windows桌面下面任务栏无法点击(卡住)的解决办法
- 经纬度批量转地址(保姆级教程)
- Python的异常及处理
- 微凉的风吹着我凌乱的头发,突然决定开个客博,以录下从MATLAB到OMNET的艰难历程
热门文章
- 乡村振兴吹响品牌号角——首届中国乡村振兴品牌大会成功举办
- 赋能我国制造业由大向强,昂首阔步迈向高质量发展
- 知名mac软件资源站macwk关站,倒闭原因令人叹息
- JSP/Servlet临汾天泰学习笔记(一)
- 2021 最好学科排名发布,计算机专业清华第一,其他学科的呢?
- 20180507-A · Global Coffee Chains · ggplot2 usmap geom_map geom_point 地图 热图 美国地图 · R 语言数据可视化 案例 源码
- 一位明星证券客户经理的十年辛酸史--俊材有话说
- KYC 技术详解:对金融行业与隐私合规的价值和意义
- Linux系统 推送Windows桌面应用更新
- 1.20 不定式 比较级