目录
二、明确的问题,操作系统是什么,能干什么,特点?计算机系统是什么,组成层次和原理究竟是什么?
三、写计算机组成原理。万物不变的逻辑概念就是从输入到输出,计算机也不例外。计算机组成原理重点在中间过程
4.OS中的几个功能如何实现?首当其冲是进程管理,存在意义?
5.作业管理。(就是通过决定讨论谁可以拥有CPU指挥官大人的使用权)
这里放篇操作系统+计算机组成原理的总结知识。目前水平仅供个人知识总结复习参考。我将计算机系统定位为本文章的主人公,将操作系统定为主人公体内的心脏。
首先都要明确的是计算机系统和操作系统的发展。让我们走进主角的成长过程。
一、冯诺依曼机
冯诺依曼机:了解发展过程中,早期的一个核心的东西,冯诺依曼机 。
1945年,冯诺依曼和其他计算机科学家们提出了计算机具体实现的报告。了解冯诺依曼机中,基本结构为5个部分:中央处理器(CPU)、内存、输⼊设备、输出设备、总线。冯诺依曼机遵循图灵机的设计,并且提出电⼦元件构造计算机,约定⽤⼆进制进⾏计算和存储。具体特点如下:
1)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部件组成。
2)指令和数据以同等地位存储在存储器中,并可按地址寻址。
3)指令和数据均用二进制代码表示。
4)指令由操作码和地址码组成。操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
5)指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器和存储器传送数据。
操作系统的发展阶段经历:手工、单道/多道批处理、分时、实时、网络、分布式、嵌入式、个人计算机
计算机系统的发展阶段:电子管-晶体管-集成电路-大规模集成电路
二、明确的问题,操作系统是什么,能干什么,特点?计算机系统是什么,组成层次和原理究竟是什么?
(1)通俗易懂,windows MacOS IOS Linux 此类的就是操作系统,操作系统由:用户 应用程序 (软件)操作系统 裸机(硬件。CPU、内存、硬盘)这几个部分构成。是系统最基本最核心的软件,属于系统软件,控制和管理整个计算机的硬件和软件资源,合理的组织、调度计算机的工作与资源的分配,为用户和其他软件提供方便的接口和环境。(总结)
(2)计算机系统的层次结构:硬件组成、软件分类、工作过程、多层层次结构。
硬件组成里按照三种不同维度,冯诺依曼体系中,计算机由控制器、存储器、运算器、输入输出设备组成;现代体系中以存储器为中心,IO尽可能绕过CPU,直接让IO和存储器间完成。功能部件方面,就直接分为存储器、运算器、控制器、输入设备、输出设备。几个部分。
软件分类包括系统软件(OS、DBMS、语言处理程序、分布式系统、网络系统、标准库、服务程序),应用软件(科学计算机程序、应用程序),机器语言、汇编语言、高级语言。补充OS就是操作系统(计算机管理控制系统)
计算机工作过程和数据装入到主存,从程序起始地址开始执行,从起始地址取出第一条指令,译码执行并计算下一条指令地址,取出下条指令地址,在取值、译码,执行间往复,直到执行完毕。
多层层次结构:位置-机器指令-操作系统-汇编-高级语言-应用。
机器语言: (二进制语言)计算机唯一可以直接识别和执行的语言。
汇编语言: 用英文单词或其缩写代替二进制的指令代码,易于人们记忆和理解。
高级语言: 为方便程序设计人员写出解决问题的处理方案和解题过程的程序。(这里有一门课叫编译原理)。
因为OS属于计算机系统中的一部分,因此总结笔记从大到小,先写计算机组成原理。
三、写计算机组成原理。万物不变的逻辑概念就是从输入到输出,计算机也不例外。计算机组成原理重点在中间过程
先声明:计算机的组成部分,通俗的讲分为:
(1)输入设备部分,通俗易懂,鼠标、键盘
(2)输出设备,显示屏主机,就是展示部分
(3)存储器,存储器分为主存储器、辅助存储器。
(内存储器,CPU有权限直接访问)(辅助存储器,内存储器的副手,帮助主存储器记忆信息,并且要将信息导入主存储器中,才能被CPU访问)
(4)运算器。算术运算和逻辑运算,ALU就是算术逻辑单元
(5)控制器,计算机的指挥官。现代的CPU,芯片上的中央处理器,由程序计数器(PC)、指令寄存器(IR)、控制单元(CU),MAR(地址寄存器)MDR(数据寄存器)
但我喜欢记忆为存储系统+指令系统+中央处理器,然后串线连起来,就像一条项链,上面串了很多漂亮的器件。
存储系统中的存储器介质是磁表面存储器、磁心存储器半导体,光存储器。磁表面存储器就是磁盘、磁带,磁心存储器半导体有MOS型存储器,光存储器就是光盘。
计算机硬件部件的工作过程:初始:指令和数据进入存储器,由控制器中的PC指向第一条质量,从存储器中取出指令放入IR、PC+1、CU分析指令、CU指挥剩下的部件继续工作。执行指令。唉。我的指挥官大人。
指挥官大人,也就是CPU所在芯片的内部,需要靠总线连接,叫片内总线。
而CPU、主存、I/O设备部件之间的信息传输连接,称为系统总线。系统总线将各个部件都串联起来,数据总线、地址总线、控制总线。
计算机系统(主人公)之间,计算机系统和其它系统(控制仪表、移动通信其他世界观的主人公)之间的通信,叫通信总线,传输方式分为串行和并行。
总线一笔带过,毕竟这篇目最重要的不是器官之间,打电话。
从大到小:接下来将依次讲存储系统、指令系统、中央处理器(我的指挥官殿下)。
存储器可以理解为主人公的脑子里的海马体,运算器可以理解为主人公脑子里的运算思维,控制器可以理解为主人公脑子里的处理决策。
实时纪录片开始!
1、进入主角的脑子,记忆官大人-存储系统
存储系统就像是整个计算机体系的记忆宫。
(1)记忆结构分为CPU-寄存器-Cache(高速缓存)-主存-辅存。结构之间靠总线连接。
再简单点就是CPU-寄存器-存储器。可以讲Cache、主存、辅存放到存储器中。
记忆能力评估指标(性能指标:实际容量、理论容量、存取周期、主存带宽)
(2)记忆内的虚拟存储器。什么是虚拟存储器,如何辨别虚拟存储器。依靠特征辨别。这个划重点,TLB
- 程序允许被分成多次调入内存运行。(多次性)
- 允许一个作业中的程序和数据,在作业的运行过程中进行换入和换出。(对换性)
- 用户所看到的内存容量远大于实际内存容量。(虚拟性)
- TLB通常采用全相联和组相联的方式,由页表表项内容加上TLB标记字段构成。
如何实现虚拟存储器?两个重要点,分页请求系统、请求分段系统
(3)记忆内的随机存储器。SRAM、DRAM、只读存储器ROM。DRAm刷新方式有集中刷新、分散刷新、异步刷新。
(4)双端口RAM与多模块存储器
(5)Cache,也就是平时的缓存。
备注:程序访问的局部性原理包括时间局部性和空间局部性
时间局部性指在时间维度上,未来的信息可能是现在使用的信息。
空间局部性是在存储空间维度上,未来要用到的信息与当前使用的信息是挨着的,指令顺序存放、顺序执行。相当于一个人用完左手用右手。
2、进入主人公的发号施令系统-指令系统
指令系统长什么样子,指令系统如何寻找它的家,指令系统复杂到什么程度,精简到什么程度。
(1)指令格式
(2)指令寻址方式
(3)复杂指令系统计算机CISC
(4)精简指令系统计算机RISC
3、CPU——我的亲爱的 指挥官大人
前面说过,现代的CPU包括运算器、控制器。
明确CPU是什么,能做什么。
(1)能做什么?指令、操作、时间控制,数据加工,中断处理
(2)哪几个部分:运算器,控制器。前文提过,后续补充。
(3)如何执行?指令周期-机器周期-时钟周期-工作脉冲。
(4)通过什么传输数据通路,当然是总线啦:内部单总线、内部三总线、专用数据通路。
内部单总线:所有寄存器的输入和输出都连一条上
内部三总线:所有寄存器的输入和输出都连到多条公共路上
专用数据通路:根据执行过程中,专门安排线路连接。
(5)CPU工作控制方式:同步控制方式。异步控制方式、联合控制方式
4、输入输出系统。I/O
(1)什么是I/O
(2)I/O能做什么
(3)I/O之间的连接方式 接口。
接口能干吗?选址、传送命令、传送数据、反应I/O设备的工作状态
接口啥样?缓冲+译码+状态+命令+逻辑电路
内部接口:与系统总线相连
外部接口:与外设相连
若干端口+逻辑电路=接口,编址方式分为统一编址与独立编址、
(4)I/O之间的小99——有哪些方式
程序查询当时、程序中断方式、DMA方式、通道
程序查询怎么干的?
程序中断怎么干的?
DMA怎么干的?
5、总线——部件之间的打电话方式
(1)总线是什么?概念
是部件之间的信息通路
之前提过,分为片内总线、系统总线、通信总线
(2)总线长啥样?结构
但总线结构、双总线结构、三总线结构
(3)怎么评价总线?性能指标
传输周期、时钟周期、工作频率
总线宽度、总线带宽、总线复用、信号线数
(4)怎么进行总线操作和定时
同步定时、异步、总线传输(申请分配、寻址、传输、结束)
(5)总线也有标准。
ISA EISA PCI USB(熟悉吧!)SCSI SATA
四、操作系统知识
首先要明白操作系统OS的地位!OS是计算机系统的内核和基石
正片开始。
1.OS能做什么,操作系统功能
为了能够统一管理计算机资源,实现对计算机资源的抽象,提供用户与计算机之间的接口。
所以有:
进程与处理及管理
存储管理
设备管理
文件管理
作业管理
2.OS的独特点
并行、并发、共享、异步。(重点)
a.并行:指两个或多个事件可以在同一个时刻发生,多核CPU可以实现并行,一个cpu同一时刻只有一个程序在运行
b.并发:指两个或多个事件可以在同一个时间间隔发生,用户看起来是每个程序都在运行,实际上是每个程序都交替执行。
c.共享性:操作系统的中资源可供多个并发的程序共同使用,这种形式称之为资源共享。
d.互斥共享:当资源被程序占用时,其它想使用的程序只能等待。
同时访问:某种资源并发的被多个程序访问。
e.在并发性前提下可以有虚拟性和异步性。虚拟性包括时分复用技术、空分复用技术。异步性:在多道程序环境下,允许多个进程并发执行,但由于资源等因素的限制,使进程的执行以“停停走走”的方式运行,而且每个进程执行的情况(运行、暂停、速度、完成)也是未知的。
3.OS的类别。
4.OS中的几个功能如何实现?首当其冲是进程管理,存在意义?
(1)意义?是系统进行资源分配和调度的基本单位,是作为程序独立运行的载体保障程序正常执行,大幅度提升操作系统资源的利用率
(2)进程控制块PCB:用于描述和控制进程运行的通用数据结构,记录进程当前状态和控制进程运行的全部信息,是进程存在的唯一标识。
进程和线程区别与联系
区别:进程是系统进行资源分配和调度的基本单位,线程是操作系统进行调度的最小单位。进程对线程说:乖儿子。
联系:进程是线程的总集合,内有多个线程,进程可以并发线程。
(3)进程管理五状态。操作系统也是要实时记录自己的状态的,状态可以被称为,操作系统与CPU指挥官大人的狠狠爱。
就绪状态:万事俱备,只欠CPU。其它资源(进程控制块、内存、栈空间、堆空间等)都准备好、只差CPU的状态。
执行状态:一曲凤求凰,唤得肝肠断,终于拥得美人归,遂上西楼赏花赏月赏秋香。进程获得CPU,其程序正在执行。
阻塞状态:得不到,就放弃。进程因某种原因放弃CPU的状态,阻塞进程以队列的形式放置。
创建状态:我有这个心,但没有这个资源,一切成败,只等带剑上路。创建进程时拥有PCB但其它资源尚未就绪。
终止状态:一切都将归于0。进程结束由系统清理或者归还PCB的状态。
进程同步
这个是重点所以单独放博客里讲。
5.作业管理。(就是通过决定讨论谁可以拥有CPU指挥官大人的使用权)
(1)作业管理有进程调度和死锁。
(2)作业管理何时出场?进程终止、进程时间片用完。这里主要分为主动放弃、被动放弃。
(3)进程调度有哪些“非抢占式调度,有当前运行的进程主动放弃CPU
抢占式调度:由操作系统剥夺当前进程CPU
(4)调度三大机制
排队、委派、上下文切换、
(5)调度算法:先来先服务、段进程优先调度、高优先权调度、时间片轮调度。算法单独开博客讲。
(6)死锁是什么,就是你争我抢,就像火灾来临 在安全通道发生堵塞,无法推进。死锁检测算法、资源剥夺、撤销进程法可以检测和接触死锁。
死锁的必要条件:使用资源互斥,请求保持条件(至少拥有一个资源)、不可剥夺条件、环路等待条件。
如何处理死锁”破坏条件。1Spooling池化技术改造成共享资源2。一次性申请所有需要资源3、释放占有资源、将可用资源性排序,按照递增申请
银行家算法:检查当前资源剩余是否可以满足某个进程的最大需求;如果可以,就把该进程加入安全序列,等待进程允许完成,回收所有资源;重复1,2,直到当前没有线程等待资源;算法连接单独开博客讲。
饥饿:长期没有资源
死循环:代码有BUG,
(2)存储管理中段页式存储管理。
a.分页式存储管理技术。这一条详细开一个博客。
b.分段存储管理技术。这一条详细开一个博客。
分页与分段,分页地址一维、分段地址二维
(3)存储管理中虚拟内存。
(4)存储管理基本技术-分区法、可重定位法、对换技术
1)存储管理中,分配内存,掌握经济资源命脉的
内存分配-内存回收,
分配:目前,动态分区分配算法。
内存回收: