• 欢迎访问我的个人博客网站,本站专注电商运营,建站SEO推广服务,欢迎大家的访问,有需求可以与我联系!

第一章:操作系统概述

操纵系统的目标现代操纵系统的目标主要目标:1.方便性:改善和完善用户接口 2.有效性:有效管理 和分配资源利用率和吞吐量 3.扩张性:满足更高的功能和性能需求 4.开放性:不同设备的集成和协同工作,可移植性和互操作性。
操作系统功能一,处理机管理-管理目标:高效,公平地处理资源和分配调度管理内容:进程控制:协调进程之间的推进,资源共享进程同步:进程之间传送数据,以协调进程间的协作。进程调度:作业和进程的运行切换。
二,存储管理-管理目标:提高利用率,方便用户使用,足够的存储空间。管理内容:存储分配和回收存储保护,进程不干扰和保密地址映射(变换):逻辑地址到内存物理地址的映射内存扩充(覆盖,交换和虚拟存储)提高内存利用率,扩大进程内存空间
三,设备管理-管理目标:方便设备使用,提高 CPU 与 I/O 设备利用率-管理内容  设备操作:利用驱动程序(通常在内核中)完成对设备的操纵  设备独立性:提供统一的 I/O 设备接口  设备分配与回收缓冲区管理,匹配 CPU 和外设的速度,缓冲区
四,信息管理-管理目标:解决软件存储,共享,保密和保护-管理内容           文件存储空间挂历存放信息,提高利用率和读写性能目录管理:解决信息检索问题。文件的读写挂历和存取控制:解决信息安全问题,授权,读写权。软件挂历,软件版本,软件依赖关系,安装和卸载
五,用户接口管理目标:友好的用户接口供用户使用一,管理内容系统命令:编程接口:供用户程序和系统程序,系统调用,API。



操纵系统组成操纵系统可以分为四大部分:1.驱动程序:最底层的,直接控制和监视各种硬件的部分,隐藏硬件具体细节。

2,内核程序,操纵系统核心部分,特权级。3,接口库,特殊的程序库,提供 API4,外围程序:守护进程等


2,操纵系统的层次结构处理机管理,进程管理与通信,I/O 处理,文件存取,资源分配与调度
程序接口程序接口称为系统调用,操纵系统提供给软件开发的借口目态与管态:系统珍贵的程序分为系统程序与用户程序处理器运行系统程序称为管态,系统状态,用户程序为用户态
2.特权命令:管态下执行的特殊机器命令传送程序状态字指令启动,测试,控制外设指令存取特殊寄存器指令
3.访管指令:系统提供功能集合,系统调用命令从目态到管态的改变


二,系统调用为了保证 OS 不被用户程序破坏,不允许用户程序直接访问 OS 的系统程序和数据,只能用系统调用,用户在程序中调用系统提供的子功能为系统调用
–功能        是特殊过程调用,由特殊机器指令实现         指令系统转入管态系统调用上操纵系统提供给编程人员的唯一接口.


三,系统调用与一般过程调用的比较 1.相同点-改变指令流程,榨取只能怪其它程序段。2.不同点–一般过程调用和被调用程序都运行在相同状态,管态或目态。–一般过程调用不涉及系统状态转换,系统调用由用户转系统,系统转用户。
四,系统调用的实现过程–有一个类似于硬件终端处理的处理机构(陷入硬件机构),相应的指令,发生相应的中断。有关的信号给处理机构,收到了处理机,处理程序。
用户程序 system call 用户程序陷入处理机构,1 转系统态,保护现场,2 转到系统子程序当中,2.恢复现场


五,中断和陷入硬件机构 1.中断是 CPU 对系统发生的某外部的相应 2.陷入(内中断,捕获)是由 CPU 内部事件引起的中断 3.每个系统调用都对应一个事先给的功能号 4.中断和陷入向量 5.保护和恢复现场



程序执行方式一,程序顺序执行 1.概念   独立功能的程序独占处理机运行到最终结果 2.特点 1 顺序性:程序按逻辑顺序依次执行 2 封闭性:程序执行结果由初始条件确定,不受外界影响。3 可再现性:程序的执行结果与它执行的速度,环境无关。4 资源独占:程序执行时独占 CPU
二,程序并行执行 1.概念    多个程序的执行彼此无关,它们独占各自的 CPU2.特点 1.顺序性 2 封闭性 3.可再现性 4.资源独占和 CPU 数目相同
三,程序并发执行在时间上有一定的重叠,这时只需要一个 CPU 就可以了 2.概念    在逻辑上相互独立的程序在执行过程中执行时间在客观上互相重叠。一个程序执行结束,另一个程序的并发执行
3.特点(1)间断性,CPU 不连续的(2)非封闭性:执行结果与初始条件相关,受外界影响 3 不可再现性:程序的执行结果与它执行的速度,环境有关 4.资源共享:多个程序的执行共享 CPU.
并发执行时其结果不具有封闭性和可在现性
4.结论        并行执行,并发执行(共享资源)



进程的定义一,进程定义一个具有独立功能的程序(程序段)对某个数据集在处理机上执行过程和分配资源的单位程序(程序段)–一个操作序列数据集—储存单元的内容
二,特征 1 动态性:在并发系统中的一次执行,一个进程从产生到消失的生命期 2.并发性:为了描述程序在并发系统内执行的动态特征 3.独立性:每个进程的程序都是相对独立的顺序程序,按自己的方向和速度独立向前推进 4.制约性:进程之间的相互制约.5 结构性:进程=PCB(进程控制块)+程序+数据集合
三,程序,进程的联系与区别程序–静态的指令序列描述  永久性软件资源,一个程序可以与多个进程对应轻用户由系统态系统调用执行 
进程:动态的程序执行过程  动态生存暂存性紫云 一个进程对应一个程序由操作系统核心在内部进行分配调度
进程是一个动态的概念



进程的描述一,进程控制块(PBC,process contrl block)系统感知进程的唯一实体,通过 PBC,系统管理和控制进程。二,PCB 的作用 1.系统感知进程的标示 2.反应进程的动态特征 3.余进程一一对应,常驻内存 4.构成并发执行控制和维护系统工作的依据。
二,PCB 的组成 1.描述信息 2.进程名称或进程标识号—识别进程 3 用户名或用户标识–进程所属的用户 3.家族关系—进程树
2.控制信息 1.当前状态 2.优先级别 3.程序开始地址 4.计时信息 5.通信信息
3.资源管理信息 1.占用内存大小及管理用数据结构指针 2.对换或覆盖信息 3.共享程序段大小及起始地址 4/o 设备相关信息 5.指向文件系统的指针及有关标识
4.CPU 现场保护区
三,PCB 的基本内容进程名,当前状态,优先级,现场保留区,处于同一状态进程的链指针资源清单,进程起始地址,家族关系,其它。
四,进程上下文进程执行活动静态描述用户级上下文,数据段,程序段,堆栈系统上下文:PCB
五,进程组织 1.进程家族 1.进程父子关系组成层次结构 2.子进程由父进程创建并继承父进程的资源 3.撤销一个进出时,其子孙进程一并被撤销
2.状态队列 1.进程按执行形成队列
进程的状态与转换一,进程的基本状态 1.就绪—进程具备运行条件,但未占用 CPU2.执行—进程占用 CPU3.等待—进程由于等待不能享用 CPU.
二,进程状态变化的原因 1,CPU 调度,从就绪状态选择一个进程到 CPU 上运行 2.运行进程等待某一事件发生,等待分配某一资源等待 I/O 操作完成等。阻塞状态 3,等待的事件已发生
三,进程基本状态转换图就绪,执行,等待
四,扩充的进程状态 就绪挂起和等待挂起
五,进程状态转换的说明 1.一个进程只能处于一种状态 2.进程之间的状态转换是可逆的,进程不呢个从等待不能为运行,也不能从就绪变为等待。3.进程之间的转换并非都是主动



进程的执行模式一,执行模式分类系统态和用户态系统态:控制态或内核态,具有对处理器所有指令,寄存器和内存控制能力用户态:只能执行规定的指令,指定的寄存器和存储区。进程在用户态,不能执行操作系统指令和区域
二,特征不同执行模式不受用户程序的破坏程序状态有一位表示处理器的执行模式,一位的改变执行模式的设置
列如:进程的创建,撤销,以及转换过程需要操作系统来进行控制。



进程的创建与终止一,进程创建 1.引起进程创建的原因 1 操作系统准备接纳一个新的批处理作业时,作业调度程序 2.用户登录需要创建进程 3.系统为用户创建一个服务,如打印,创建一个打印进程来完成 4,进程可以创建子进程
2.进程创建步奏 1.给新进程分配一个唯一的进程标识符 ID2.给进程分配空间,包括程序,数据,用户堆栈以及控制块的空间 3 进程块控制块 4 新进程就绪队列 5 创建或扩充其它数据结构
二,进程终止 1.进程终止的原因 1 进程正常完成 2 异常终止:运行超时,内存不足,地址越界,算术运算错误,I/O 失败等等 3 父进程终止时,子进程终止 4.父进程请求终止其后代进程



2.进程终止的步奏 1.从 PCB 队列中检索被终止经常的 PCB,并修改其状态 2.有子孙进程,所有子孙进程终止 3.释放该进程所有资源 4.该进程 PCB 从系统 PCB 队列中删除



进程切换
一,概念一个正在运行的进程被中断,操纵系统指定另一个进程的运行态,控制权交给这个进程
二,引起进程切换的事件 1.中断:时钟中断和 I/O 中断当发生时钟中段时,当前正在执行的进程切换就绪状态,就绪进程切换执行状态当发生 I/O 中断时,操纵系统将相应的阻塞进程切换至就绪状态
2.陷进:与当前运行进程所产生的错误和异常有关。如果错误和异常时致命的,则当前运行的进程终止,并进行进程切换如果错误和异常不是致命的,系统对处理取决于错误和异常的冲突
3.系统调用:切换至操纵系统进程,请求系统调用的进程转为阻塞态
二,进程切换步奏 1.保存处理器上下文环境,包括程序计数器,堆栈,状态寄存器等。2.更新当前运行进程的 PCB,状态改变,状态改变原因,记账信息等 3.讲进程移入相应队列 4 选择另一进程切换运行状态 5 更新进程 PCB,状态由就绪变为运行 6 恢复进程上下文环境,包括程序计数器,堆栈,状态寄存器等信息
线程的概念一概念   为了减少进程创建和切换时的开销,提高系统吞吐率和资源利用率,引入了”线程“的概念线程称为型进程。线程可独立执行和调度的基本单位,进程所用于的资源也是线程所能是用的资源。
二,线程与进程的比较 1.多线程环境中,进程只有一个与关联的进程控制块和用户地址空间 2.每个线程有线程控制块和用户堆栈
三,进程和线程的关系 1.线程作为调度和分配的单位,进程作为资源分配的基本单位同一进程中的线程切换不会引起进程切换 2.不仅进程之间可以并发执行,而且一个进程的多个线程之间也可以并发执行 3.进程是拥有资源的独立单位,线程拥有少量的资源。4.线程创建,终止切换的系统开销比进程小。5。同一进程的线程共享内存和文件,在同一个地址空间里,它们之间通信不需要调用内核,提高了通信的效率



线程的实现一线程分类 1.内核级线程:线程管理的所有工作都是由内核完成。内核级线程优点 1.可以同一进程的多个线程调度到不同的处理器上并行执行 2.进程中一个线程被阻塞,内核调度同一进程内核也可以使用多线程
缺点当控制一个线程转到另一线程,需要处理器状态从用户转到内核态,系统调用结束后,切回。
2.用户级线程:线程管理的所有工作都是由应用程序完成。用户级线程具有以下优点:1 管理数据在进程的用户中,线程切换不需要内核参与, 1. 线程管理数据在进程的用户地址空间中,线程切换不要内核参与 2.线程的调度用用户自行选择,与操作系统内核无关。用户可根据需要设置线程调度算法 3.用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改
缺点 1.当一个用户级线程因系统调用而阻塞,进程中的所有线程都会被阻塞 2.一个多线程应用程序无法使用多处理器技术。
3.线程组合 1.线程的创建,调度和同步在用户空间中完成,一个应用程序的多个用户级线程被映射到一些内核级线程上,程序员可以为应用程序调节内核级线程的数量 2.在组合方法中,同一个用户程序中的多个线程可以在多个处理器并行执行
目前多数程序设计语言都支持编写的线程程序。JAVA,C#等



操纵系统的概念操纵系统是计算机系统一系列模块构成的软件在计算机与用户之间以个借口的作用操纵系统:软件,管理和控制计算机系统,合理地工作流程。
计算机硬件,操纵系统操纵系统开发人员,系统工具,应用软件,应用用户
三,操纵系统的认识与研究概念店 OS 是计算机硬件,软件资源的管理者管理对象:CPU,存储器,外部设备,信息管理内容:资源的当前状态(资源的分配,回收访问等工作)管理方式:协调软硬件的公告,调用。



OS 用户使用系统硬件,软件的接口系统命令(命令行,菜单式,命令式脚本,图像 GUI)系统调用(在应用编程这个使用)API 函数进程管理计算机系统中运行程序的协调,提高资源利用率研究和观测操纵系统。



二,操纵系统的历史 1.手工操纵:1946-20 世纪 50 年代电子管计算机,集中计算,计算机资源昂贵 2,用户:程序员又是操纵员,专业人员-编程语言,为机器语言-输入输出;纸袋与卡片 3,计算机的工作特点-用户独占全机-CPU 等待用户
2.单道批处理系统:20 世纪 50 年代-20 世纪 60 年代 1.计算机特点晶体管计算机,管理程序的程序,监督程序。2.批处理的感念作业 1.用户程序 2.数据 3.作业说明书-批     供一次加载的磁带或磁盘  作业组装成 3.批处理技术联机批处理,每个作业进行相同的处理,从磁带读入用户作业和编译链接程序,链接用户作业,生产科执行程序,启动执行,执行输出读卡机—-主机——打印机存在的问题:慢速度输入输出处理直接由 CPU 控制,CPU 处于等待状态。–脱机批处理:读卡机-卫星机-输入带-主机-输出带-微型机-打印机存在的问题:磁带或磁盘需要人工操纵,监督程序遭到用户程序的破坏。4.通道和中断技术 20 世纪 60 年代初,发展了通道计数和中断技术,监督程序管理下完成提供 I/O 控制功能(输入输出的功能)-通道 用于控制 I/O 设备与内插件的数据传输,独立于 CPU 运行,CPU 与 I/O 的并行通道专用的 I/O 处理器,可与 CPU 并行工作 4.中断是指 CPU 在接到外部中断信息后,停止原来工作,去处理中断事件,完毕后断点继续工作。中断处理过程:中断请求,中断响应,中断点,处理中断,返回。处理算数溢出和非法操作码,死循环(利用时钟中断超时限定)监督程序发展为执行系统,常驻内存。
3.多道批处理系统:20 世纪 60 年代–20 世纪 70 年代中 1.计算机系统的特点–集成电路计算机系统,利用多道批处理提高资源的利用率 2,多道批处理的运行特征–多道:内存中同时存放几个作业宏观上并行运行:都处于运行状态,但都未运行完。微观上串行运行:各作业交替使用 CPU3.软件只:作业管理与调度,CPU 管理,I/O 管理,内存管理,外存管理。4.多道批处理系统—-操纵系统
4.操纵系统广泛应用:20 世纪 70 年代以后 1.计算机系统的特点-集成电路,大规模集成电路,超大规模集成电路,大型化,小型化,网络集群化管理,操纵系统商品化软件 2.主要的操纵系统软件微机系列:WIN 扥大中型机:UNIX,LIUNX 手机;安卓,IOS
二,操纵系统的发展趋势 1.嵌入式操作系统:对操纵系统在功能和空间占用提出新的需求。2.实时操纵系统:还在不断发展当中 3.并行操纵系统,多处理机系统 4.网络操纵系统和分布式操纵系统 CLIENT/SERVER



典型操纵系统一,Windows 操纵系统基本情况:微软 20 世纪 80 年代推出 DOS 陆续 WIN 系统产品,用于微机与笔记本电脑。二,UNIX 操纵系统基本情况 UNIX 是历史最悠久的通用操纵系统。1969 年,美国贝尔实验室推出。-UNIX 主要在大中型计算机中使用三,其它操纵系统产品,全世界操纵系统 2000 多种 1.LINUX 和 FREEBSD 芬兰学生做的一个实验,学习和使用陆续编写。FREEBSD2.ANDROIDANDROID 是一种以 LINUX 为基础的开放源码操纵系统 05 年由谷歌收购并注资 ANDROID,手机一半以上使用安卓
临界区与临界资源
一,临界资源     任意时刻最多允许以个进程使用的资源称为临界资源如:打印机,键盘等
二,临界区     访问临界资源的程序(程序段),不允许并发进程交叉执行的程序如:写打印机缓冲区的程序,读键盘缓冲区的程序等。
三,临界资源使用    假设进程 A 与 B 都需要访问相同的一台打印机方式一:进程 A 与进程 B 互斥地进行,满足对临界的需求,计算机效率低方式二:进程 A 与 B 并发执行,限制他们执行不同的临界区
四,程序执行的约定 1.各并发进程享有平等的,独立的竞争和使用共享资源的权利。1.并发执行的进程如果不在临界区,它不阻止其它进程进入临界区 3.并发执行进程都可以申请进入临界区 4.当某个进程进入临界区,有限的时间使用退出临界区
用硬件实现互斥一,中断禁用禁用中断可以使进程一直运行,保证临界区不被中断
二,专用机器指令 使用专用机器指令可以实现持续对单元的互斥访问。硬件方法的优点:1.适用范围广,在单处理器和共享内存的多处理器上的任意数目进程 2.简单 3 课支持多个临界区
硬件方法的不足:1.导致 CPU 空耗 2.导致进程饥饿



信号量互斥一,信号量概念基本原理:两个或多个进程通过简单的信号进行合作信号量是一种抽象的信号机制。。
二,信号量的操作对信号量进行操作为 P 操作和 V 操作,对应原语 P 和原语 V(S)
P 操作意味着分配资源,所以 S 的值增加 1.当 S 的值小于或等于 0 时,表示在改信号量
三,互斥的实现使用信号量现实临界区的互斥访问时,将如果信号量的初始值为 1 表示仅允许一个进程访问临界区)
同步的概念把一组并发进程因直接制约而相互发送消息,进行互相合作,互相等待。使得各进程一定的速度执行过程为进程同步。交换信息才能相互影响,互相协作,完成功能。
信号量实现同步
死锁与饥饿死锁是两个或两个以上的进程中每一个在等待而无法继续执行,陷入永久等待状态。成为死锁
特点:两个或多个进程各自占有一定的资源,等待其他进程释放资源。          获得新请求资源前,进程不释放自己在占有的资源。3 比较:一组进程度不能继续执行,陷入永久等待           2.死循环,进程一直执行,永远不结束。            3.司机。系统当中所有进程都不能执行,陷入永久等待。4.死锁的起因   1.资源有限:系统提供的资源数少于并发进程所需要的资源数   2.资源竞争:进程的并发性造成资源的竞争使用



3.产生死锁的必要条件 1.互斥条件:一个资源只能由一个进程独占使用 2.部分分配:进程每次申请它锁需资源的一部分 3.不剥夺条件:4.环路条件:存在一个资源的进程循环链










张从飞个人博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:第一章:操作系统概述
喜欢 (0)
[xklkey@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址