操作系统学习笔记(更新ing)

本文参考哈尔滨工业大学2010年版《计算机操作系统》

一.操作系统导论

1.1操作系统的概念:

        概念:是控制和管理计算机系统硬件资源和软件资源的系统软件,合理组织计算机工作流

                   程,是用户与计算机之间的接口。(是特殊的系统软件,对资源进行回收分配,为用

                   户提供方便友好的操作平台)

        功能:

                (1)用户、程序和计算机之间的接口

                (2)资源管理(处理器、存储、文件、设备的管理)

                (3)控制协调程序运行

        特性:

                (1)并发性:存在同时,并行的活动(实现活动切换及相依赖活动的协调同步,信息交换)

                (2)共享性:使用相同数据时、协同开发时,同时提高经济效益

                (3)不确定性:外部的中断等请求、运行时发生的故障等导致操作系统处理不确定的事

                                           件序列,表现出了操作系统工作的不确定性

                (4)虚拟性:对确定的硬件实体的改造,如虚拟存储、虚拟机等技术

                (5)可拓展性:应具有可拓展的能力,即有效地开发、测试和引进新的系统功能

1.2操作系统的发展史

        1.人工操作阶段:电子管时代,由程序员直接维护。

        2.早期批处理系统:

                (1)联机批处理:将工作分批输入,解决了计算机空闲时间的问题(存在监督程序代替

                                               程序员人工操作,监督程序与用户程序交替进行,为后来系统模式和

                                               用户模式的前身。为保证监督程序进行,引出主存特定区域的保护问

                                               。公共子程序的存在引入主存共享和扩充问题

                (2)脱机批处理:将慢速I/O设备从cpu中脱机出来,以磁带盘为中介提高资源利用率。

                                            (引入中断技术,使监督程序、用户程序的切换灵活;引入通道技术

                                              通道负责I/O设备与主机的信息传输,使cpu、通道、I/O设备并行,

                                              提高cpu利用率)

                (3)多道程序批处理系统:使程序从串行处理进步到并行处理。(微观串行)

        3.分时系统:将cpu时间划分为微小时间片,分别为不同终端服务,依次轮转,实现实时交

                             互,解决批处理系统需要等待批处理完成才能获得结果的问题。

        4.实时系统:实现连续操作需要冗余措施,导致利用率较低,但带来快速响应及高可靠性。

        5.通用型操作系统:综合多种操作系统的特点,以UNIX为代表。(UNIX:通用的多用户分时

                                        交互型操作系统)

1.3操作系统的类型

        1.批处理系统:成批提交,效率高;宏观并行,微观串行。但没有交互性,有等待周期。

        2.分时操作系统:多路联机,用户独占

        3.实时操作系统:联机处理,实时控制,但引入冗余系统,降低速度。

        4.网络操作系统:资源共享,分为资源管理者与资源使用者。

        5.分布式操作系统:计算机中安装分布管理系统,没有明显主从关系,组织在一起就是分布

                                        式。具有分布性、协同性、平等性的特点。

1.4操作系统体系结构

        1.整体式操作系统:模块化,分为用户模式(用户态)以及系统模式(管态),在用户模式时

                                        发出陷入指令就会进入系统模式执行系统程序。仍为一个整体。

        2.分层操作系统:层与层之间隔离,下层屏蔽细节,向上层提供接口,使系统安全性得到保证

        3.虚拟机:将一台计算机虚拟成多台计算机,支持多道程序同时运行。

        4.C/S及B/S模式:客户机/服务器模式(Client/Server)包括客户机、服务器、网络三个要素。

                                     客户机运行用户程序,服务器运行系统程序,通过发送、接受减轻操作系

                                     统负担。

                                     浏览器/服务器(Browser/Server)模式将应用程序从终端上分离,客户终

                                     端不需要安装应用程序,只需要浏览器输入应用程序提供方的网址。

        5.微内核:将基本操作系统放入内核中,核外进程通过微内核与硬件进行交互。灵活性强,可

                          靠性高。

1.5人机界面

        1.命令控制界面(CI):命令行操作,MS-DOS操作系统为典型

        2.图形用户界面(GUI):用图标、文本等代替命令进行控制。

        3.应用程序接口(API):系统调用,提供给编程人员的一种接口,包括设备管理、文件管

                                                 理、进程控制、进程通信、存储管理、线程管理

二.进程与处理器管理

2.1进程的引入

        多道程序批处理中的并行使得程序执行时产生随机性,为此需要引入概念--进程动态描绘程序

        运行。

        1.进程的概念:进程(Progress)是具有独立功能的程序关于某个数据集合上的一次运行活动

                        总的来说,进程就是运行起来的程序。程序本身是指令集构成的静态存在的结构,

                        而当对程序进行调用,包括输入的数据集、程序本身以及输出的结果整体构成了运

                        行的进程。进程与程序有如下区别:

                        (1)进程是运行的过程,是动态的概念;程序是静态的概念。

                        (2)进程有生命周期,只能暂时存在;程序是永久的。

                        (3)进程包括程序和数据,存在结构。(还包括记录进程状态信息的数据结构--进

                                 程控制块(PCB))

                        (4)进程与程序不一一对应。进程可运行多个程序,反之亦然。

                        (5)进程可生成其他进程,程序不可生成其他程序。

                        进程既是并发运行的基本单位,又是分配资源的基本单位。同样可分为系统进程和

                        用户进程。

        2.进程的基本特征:

                (1)动态性:进程动态产生,动态消亡。程序执行好就结束。

                (2)并发性:为了描述并发运行才产生了进程。系统中同时存在多个进程,轮流占用

                                        cpu及资源并共同推进。

                (3)独立性:进程是cpu调度的独立单位,每个进程相对独立。

                (4)交互性:进程之间可能产生直接或间接的关系(子进程等)。

                (5)制约性:进程会相互制约,随机地影响向前推进的速度。

                (6)结构性:进程有结构,由程序、数据、进程控制块(PCB)组成。

2.2进程管理和控制

        (因为草稿全没了所以完全不想写一笔带过吧)

        1.进程状态及转换

                进程在生命周期中本质是状态的转换,有如下三种:

                (1)就绪状态:具备运行条件只待cpu控制权,就绪队列

                (2)运行状态:正在运行态

                (3)阻塞状态:某种原因不能运行的进程(与cpu无关),阻塞队列

               状态的转换:

               (1)就绪—运行:进程调度,赋给程序cpu控制权

                (2)运行—就绪:时间片到,系统分配时间片到头,被迫中止

                (3)运行—阻塞:服务请求,如I/O;进程需要的某种条件未满足

                (4)阻塞—就绪:服务完成,或事件来到,可以运行

        2.进程的描述—— 进程控制块(PCB)

                Ⅰ.概念:描述进程与其他进程、系统资源的关系以及进程在各个不同时期所处状态的数

                               据结构。

                Ⅱ.作用

                (1)创建进程就是创建PCB;标志进程的生成

                (2)进程与PCB一一对应

                (3)集中反映进程的动态特征

                (4)根据PCB中数据协调进程间制约关系

                Ⅲ.内容

        

标志信息进程名
说明信息进程状态
程序存放位置
数据存放位置
现场信息通用寄存器内容
控制寄存器内容
断点地址
管理信息进程优先数
队列指针

                Ⅳ.进程队列

                                系统将PCB组织起来放到主存固定区域构成PCB表;PCB表的大小决定最多进

                        程数,称为系统的并发度。

                                组织进程有以下方式:

                        (1)线性方式:形式简单,易于实现

线性队列
PCB1PCB2PCB3……PCBn

                        (2)链接方式:按状态分别排列

                        (3)索引方式:对应不同状态建立索引表,如就绪索引表等

        3.进程的控制与管理

                        系统中进程构成族系。开机时引入操作系统后生成第一个进程,称为0号进程,由

                它开始繁衍;父进程生成子进程,形成树形进程族系。

                        操作系统由内核控制进程,包括创建进程、撤销进程、挂起进程、恢复进程、改变

                进程优先级、封锁进程、唤醒进程、调度进程等。

                        控制进程也需要进程,为保证该进程绝对正确,采用屏蔽中断的方法来保证该程序

                的完整性。这种程序称为“原语”。下图为两个原语程序例子。

123
创建进程原语、撤销进程原语

2.3进程同步与通信 

        多道程序环境中,系统并发运行的多个进程间可能无关,也可能有交往。对于有交往的进程,往往要竞争资源,速度受到进程调度策略的限制。进程同步就是管理共享资源并避免发生错误的手段,包括进程的互斥与进程的同步两个方面。除了同步外,还要管理进程间的通信。

        1.进程的互斥

                        Ⅰ.进程的互斥是指并发进程在竞争共享资源时,任何时刻最多只允许一个进程去使

                用,其他与使用该进程的资源必须等待,直至使用者释放了该资源后才能让另一个进程

                去使用,即并发进程对于共享资源的的使用,必须是排他的、互斥的。

                        进程的互斥可以有效地对独占共享资源的使用加以限制,但具有互斥性质的进程相

                互之间都没有什么依赖,可以单独运行;因此,这是一种间接制约关系,具有以下特

                点:

                        (1)互斥进程彼此逻辑完全无关。

                        (2)运行不具有时间次序的特征。

                        Ⅱ.临界资源与临界区:

                                临界资源:一次仅允许一个进程使用的资源(即独占的共享资源),有输入

                                                  机、打印机等物理设备(硬共享资源),也有共用变量、表格等软临

                                                  界资源。

                                临界区:每个进程中访问临界资源的程序,简称CS区。

                        Ⅲ.临界区的管理准则:

                                ①若干进程需要访问一个临界资源时,每次只允许一个进程,其他等待。

                                ②任何一个进入临界区的程序都必须在有限制时间内退出临界区。

                                ③一个进程退出临界区时必须有一个等待进程进入临界区。

        2.进程的同步:

                进程A和B共享一个临界资源,B需要A处理数据放入临界资源后才能对A处理后的数据进

        行处理。若A速度远快于B,则A在B处理完上一个数据之前会不断在临界资源中替换处理资

        源,造成数据的丢失。这时就需要进行进程的同步来协调各自的运行速度。

                进程的同步:并发进程中存在的一种制约关系,一个进程的运行依赖其他进程的运行情

        况,即一个进程在没有收到其他进程的消息时必须等待,直至另一进程送来消息后才继续运

        行下去。

                进程的同步具有以下特点:

                (1)同步进程间具有合作关系,在逻辑间有某种联系。

                (2)在执行时间上必须按一定的顺序协调进行。

        3.进程同步机制

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值