软件设计师教程
软件设计师教程(一)计算机系统知识-计算机系统基础知识
软件设计师教程(二)计算机系统知识-计算机体系结构
软件设计师教程(三)计算机系统知识-计算机体系结构
软件设计师教程(四)程序设计语言基础知识
软件设计师教程(五)计算机系统知识-数据结构
操作系统知识
- 软件设计师教程
- 操作系统概述
- 操作系统的基本概念
- 操作系统定义及作用
- 操作系统特征与功能
- 操作系统分类及特点
- 批处理操作系统
- 分时操作系统
- 实时操作系统
- 网络操作系统
- 分布式操作系统
- 微型计算机操作系统
- 嵌入式操作系统
- 操作系统的发展
- 进程管理
- 基本概念
- 程序与进程
- 进程的组成
- 进程的状态机器状态间的切换
- 进程的控制
- 进程间的通信
- 同步与互斥
- 信号量机制
- 高级通信原语
- 管程
- 进程调度
- 死锁
- 线程
操作系统概述
计算机软件分系统软件和应用软件两大类。别的软件是建立在操作系统的基础上的,并在操作系统的统一管理和支持下运行的,是用户与计算机之间的结构。
操作系统的基本概念
操作系统定义及作用
传统计算机系统资源分为硬件资源和软件资源。硬件资源包括中央处理及、存储器和输入输出设备等物理设备;软件资源是以文件形式保存在存储器上的程序和数据等信息。
操作系统特征与功能
4个特征是并发性、共享性、虚拟性和不确定性。
传统资源管理的观点看,可分为处理机管理、文件管理、存储管理、设备管理和作业管理。
- 进程管理。实质上是对处理机的执行“时间”进行管理,采用多道程序等技术将CPU的时间合理地分配到每个任务,主要包括进程控制、进程同步、进程通信和进程调度。
- 文件管理。主要是文件的读写管理
- 存储管理。对主存储空间管理。
- 设备管理。对硬件设备的管理。
- 作业管理。任务、界面、交互等等。
操作系统分类及特点
操作系统可分为 批处理、分时、实时、网络、分布式、微型计算机和嵌入式操作系统等
批处理操作系统
单道批处理 一个接一个
多道批处理 多道、宏观上并行运行、微观上串行运行
分时操作系统
将CPU的工作时间分为许多很短的时间片,轮流为各个终端的用户服务。
多路性、独立性、交互性和及时性。
实时操作系统
可靠性要有保障。分为实时控制系统和实时信息处理系统。
实时又分为。实时控制系统用于生产过程的自动控制。实时信息处理系统用于实时信息处理。
- 设计目标不同。分时多用户通用系统、交互能力强;实时大多时专用系统。
- 交互性的强弱不同。分时强,实时弱
- 响应时间敏感度不同。分时弱,实时强
网络操作系统
共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。
计算机网络系统除了硬件外,还需要有系统软件,二者结合构成计算机网络的基础平台。
硬件独立性、多用户支持等。
网络操作系统分三类。
- 集中模式。
- 客户端/服务器模式。
- 对等模式 模式。
分布式操作系统
分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。
微型计算机操作系统
windows
mac
linux
嵌入式操作系统
- 微型化
- 可定制
- 实时性
- 可靠性
- 易移植性
操作系统的发展
硬件的发展、新的服务需求、自身的修补
进程管理
进程之间的并发特性,以及进程之间相互合作与资源竞争产生的问题。
基本概念
程序与进程
程序顺序执行,顺序性、封闭性和可在现性。就是程序是按照顺序执行的,永远知道下一步是哪一步
程序并发执行
在CPU忙的时候,输入输出设备可以完成别的作业。
并发,就没有程序的封闭性、程序和机器不能一一对应、并发程序间的相互制约性。
进程的组成
进程是用PCB、程序、数据组成的
PCB。是进程存在的唯一标志
程序。程序部分描述了进程需要完成的功能。
数据。数据部分包含程序执行时所需的数据以及工作区。
进程的状态机器状态间的切换
三态模型 ⇒ 运行+就绪+阻塞
五态模型
具有挂起状态的进程状态及其转换
进程的控制
进程控制就是对系统中的所有进程从创建到消亡的全过程实施有效的控制。
进程间的通信
进程间存在资源共享和相互合作。
同步与互斥
同步就是系统中一些需要相互合作,协同工作的进程,这样相互联系称为进程的同步
互斥就是,多个进程因争用临届资源而互斥执行。有些资源一次只能一个进程使用就叫临界资源。
临界区管理原则
- 有空即进
- 无空则等
- 有限等待
- 让权等待
信号量机制
信号量机制是一种有效的进程同步与互斥工具。
高级通信原语
进程通信方式分为高级和低级两种,PV操作属于低级通信方式,高级的微共享存储模式、消息传递模式和管道通信。
管程
采用资源集中管理的方法,将系统中的资源用某种数据结构抽象的表示出来。
进程调度
进程调度方式是指当有更高优先级的进程到来时如何分配CPU,分为刻薄多和不可剥夺两种。
死锁
两个以上进程互相要求对方已经占有的资源导致无法继续运行下去
线程
线程作为调度和分配的基本单位,进程作为独立分配资源的单位。