操作系统笔记

第一章 操作系统概论

定义

    直接控制和管理计算机系统中的硬件和软件资源,合理的组织计算机工作流程,便于用户使用的程序集合

计算机四大资源:处理器,存储器,I/O 设备 ,信息文件

作为资源管理者,操作系统在资源管理过程中主要完成以下工作

1)监控资源状态

2)分配资源

3)回收资源

4)保护资源

发展过程

1 人工操作时代,使用卡带手动输入指令

2 单道批处理时期一次性处理一批作业,减少了机器的空闲时间,单内存中始终只保存一道作业

3  多道程序设计+批处理: 一次有多个作业调入内存,多个作业交替的运行,时间间隔很短,宏观上,若干个作业同时运行(并发执行)。通过通道技术,和中断技术。

4 现代操作系统时代

操作系统的功能

处理器管理

主要对CPU资源进行分配,控制和管理其运行效率,如·对进程和线程的管理。主要有以下任务:

1) 进程控制:分配资源,撤销资源,回收资源,进程的在状态转换

2)进程同步:进程的运行是以异步方式(不可预测)进行的,为使进程协调一致的工作,系统中必须设置同步机制

3) 进程通信:多个进程完成同一个任务时,或竞争资源时,都需要进行进程通信

4) 调度:进程调度,交换调度,作业调度

存储器管理

当多道程序被同时装入内存,共享内存资源时,其为程序分配空间,并保护

1)内存分配:按照一定算法为作业分配内存,并用机构记录相关信息。应减少内外碎片

2)内存保护:每道程序只允许在自己的内存范围运行,不允许用户程序访问操作系统的程序和数据,也不运行访问其它非共享的用户程序。

3)地址映射:虚拟内存逻辑地址----物理内存地址的映射

4)内存扩充:虚拟存储技术,调入程序的一部分进内存,未命中则掉页

I/O设备管理

  除了cpu和内存以外的所有输入输出设备,这些设备种类繁多,物理特性差异大。设备管理提供驱动或控制程序,使其不必具体了解就能使用

1)缓冲管理:在cpu的高速性和IO的低速性之间的矛盾 引入缓冲

2)设备分配:为用户分配I/O资源

3)设备处理:设备驱动程序,实现CPU与设备控制器之间的通信

4)虚拟设备管理:虚拟设备采用假脱机技术

假脱机技术 - 简书 (jianshu.com)

文件管理

广义上所有设备都属于“文件”(并不仅限于文本)。

1)文件储存空间的管理:对不同用户文件的储存空间进行统一管理。

2) 目录管理:文件系统为每个文件建立了一个目录项(文件控制块),如Linux的inode

3)文件共享:是指多个进程在受控的前提下公用系统中的一个文件,在外存中只保存一个副本,节省了空间

用户接口

分为命令接口和程序接口

1)命令接口:用户通过命令接口直接向作业发出命令来控制运行,又可分为:联机用户接口,脱机用户接口,图形用户接口。

2)程序接口:程序执行在用户态下,不允许直接使用系统的各类资源,操作系统提供了一整套系统调用,执行过程中可以发出请求

操作系统的特性

1)并发性: 并发性是指两个或多个事件在同一时间间隔(并非同一时间)发生。微观上,每一时刻只有一道程序在执行

2)共享性:多道程序系统中,多个进程对cpu,内存,I/O设备共享。有利于提高资源利用率

     共享有两种方式: 互斥访问 和 同时访问

3)虚拟性:把一台物理上的主机虚拟成多台逻辑上的主机,称为虚处理器。

4)异步性:内存中的各个程序何时执行,何时挂机,何种速度推进,都不可以预知

操作系统的分类

按照使用操作系统的用户数目来分类:单用户操作系统和多用户操作系统

所依赖的硬件规模来分类:可分为大,中,小型机和微型机

按照所使用的环境来分类:批处理系统,分时系统,实时系统,网络操作系统,分布式操作系统,嵌入式操作系统

批处理系统:

具有成批处理作业的能力

1)单道批处理系统:当一个作业全部处理完后,再调入下一个作业进入内存,资源浪费大

2)多道批处理系统: 脱机方式进行输入输出操作,通过输入井形成后备队列,通过作业调度将一批作业调入内存,并发执行,可以共享系统资源,避免了浪费(如 处理数据时,IO资源的浪费)

特性:内存中有多个作业,交替使用CPU(为作业所分配的进程在内存中)

           调入内存顺序与作业完成顺序无关(进程调度有关)

           需要进行两次调度:作业调度和进程调度

优点

         可以CPU 和I/O设备充分利用

         内存较大可以并发执行程序,提高了空间利用率

         增加了吞吐量

缺点:

         不能交互式的运行

分时操作系统:

  一种能够提供用户与程序之间直接进行人机交互的操作系统,运行用户通过终端以交互的方式使用计算机;

   

  采用时间片技术:操作系统为用户的请求分配一个时间片,用完时,当前任务暂停(时钟中断),选择下一个请求并分配时间片。轮流获得时间片,直到运行完成

  实现方法

1)用户作业能直接进入内存,以保证用户能与机器交互(无作业调度?)

2)不允许一个作业长期占用CPU

  单道分时系统/多道分时系统:

 内存中的作业数量来决定。单道只允许一个作业进入内存,浪费了很多时间在内外存交换上。

特点

  交互性:通过终端与系统互动,主要特点

  同时性:在各自终端上共享CPU和其他资源

  独立性:由于采用时间片,用户感觉是在独立使用一台计算机

  及时性:能在要求时间内得到响应

指标

  响应时间 ----分时片不宜过大或过小

多道批处理与分时系统区别

多道批处理系统与分时操作系统的区别 - 就像空中月 - 博客园 (cnblogs.com)

实时操作系统

  要求对 随机发生的外部事件及时做出响应并处理

目标任务不同分类:

1) 实时控制系统:主要用于生产过程的自动控制。对时间要求控制极其严格,毫秒级别。

2)实时信息处理系统:用于实时信息自动处理,通过对信息进行检索和处理,并在很短时间内做出响应,是用户可以接受的秒数级别

特性:

 基于事件驱动服务,很少需要人工干预和监督。

  1)实时性:对外部请求在严格的时间范围内做出响应。

           硬事实任务:超时会引发难以预料的后果,如武器控制

           软事实系统:时间要求并不十分严格

  2)高可靠性和安全性:往往采用多级容错措施和多机备份

------------------------------------------------以上是微观环境

微型操作系统(个人计算机):

 即个人计算机上配置的操作系统

 一般按照用户数和任务数来划分

单用户操作系统

1)CP/M

2)MS-DOS(disk operating system)

单用户多任务操作系统:

同一时间内只允许一个用户使用计算机,但允许用户同时运行多个任务(并发)

多用户多任务操作系统:

 如Linux,可以登录多个用户名,并切换

网络操作系统

是基于计算机网络,实现网络通信和网络资源管理功能的操作系统,如NT/2008 server

除基本功能外的以下功能

1)网络通信:连接建立拆解,报文的分解组装,传输控制,流量控制,校验

2)资源管理和共享

3)网络服务:如电子邮件,远程登录,文件传输

工作模式

1) 客户  / 服务器模式:

       网络站点分为两类: 

本地客户机--负责收集处理用户本地请求,并发送给远程服务器,等待服务器处理并返回结果;

控制中心或者操作中心的服务器:提供文件请求,数据通信等服务,并返回结果

2)对等模式:所有站点都是对等的,既可以响应其他站点请求,又可以发处请求

缺陷:

 并不是一个一体化的系统,并没有统一标准和接口(但通过协议连接),需指定哪一个站点传输。没有统一的界面和接口,难以同步写作

分布式操作系统

 由若干台独立的计算机构成,每台计算机都可以独立工作,又可以协同合作。

 有一个全局的操作系统,负责全系统(每台计算机)的资源分配,调度,传输控制等工作,并为用户提供统一界面和标准接口

分布式和网络操作系统的区别

1) 分布性:

                      地理上是一样分配的

                      处理上的分布性是分布式系统的最基本特征,而网络操作系统主要集中在某个主机或服务器上,控制方式是集中的

2)透明性:

                    分布式:隐藏了内部细节,如访问文件,只需要知道文件名,而无需知道在哪个站点

3)统一性:分布式系统要求一个统一的操作系统,而网络只需要遵循一些协议就行

              

嵌入式操作系统:

 除基本外,还有以下特点:

1) 系统内核小

2) 专用性强

3)实时性强,弱交互性

4)固化代码,一般在ROM中 

如linux,Vxworks

操作系统的结构模型

整体式模型:

  模块式结构模型(如DOS),采用模块化程序设计,划分为相对于的独立模块,互相调用,用接口连接起来。

 优点

  结构紧密,组合方方便,能自由的调用导致系统效率高

 缺点

   1)系统难以扩充,牵连甚多,复杂的调用关系,修改一模块可能导致很多模块改变

   2)可靠性低:关系复杂,容易死锁

层次性模型:

把复杂的操作系统模块从高到低分为若干个层次:高一层的模块只能调用底层的模块

全序的:具有单向依赖,不允许同级之间相互调用,单种层次结构难以实现

 半序的:单向依赖,单同级之间可以互相调用

优点

  1)正确性:自下而上的设计方法,底层模块一般是基础功能

  2)  易扩充和维护

缺点:

  1)必须要在相邻层之间建立通讯机制-通常要穿越多个层次,增加开销,效率下降

微内核与   客户/服务器模型

  微内核:如ARM微型处理器,只保留最核心的部分功能-可扩展性强,可靠性高,可移植性强,现在多数都采用微内核

  客户/服务器模型: 微内核的基础之上-将操作系统中最基本的部分放入微内核中,其他功能放在微内核以外的一组服务器(进行)中实现。如进程'服务器'。 基本思想: 

    操作系统分为两大部分运行在核心态的微内核1)另一部分在用户的进程2),这些进程相互独立,每个进程实现一类服务--称为服务器进程。服务器进程不断检查是否有客户提出服务请求,如果有处理并分返回结果。

   当客户请求某类服务时,用户与服务器之间形成了客户/服务器的关系。通过微内核以消息的形式返回给用户。

优点

  1)可扩展性强-只需要增加功能或新增一个服务器

  2)提高可靠性:每个进程服务器只在特定的内存中运行,并且处于用户态,不能直接访问硬件

  3)适合分布式系统环境

面向对象模型:

  不仅可以用来设计程序,还可以用来设计操作系统。--把所有资源都看成对象,可以利用封装,多态,继承等,降低开发成本和实施保护

优点

 1)通过“复用”来降低开发成本(相当于调用别人写好的)

 2)易扩充,易修改,具有封装性,且可以利用继承

 3)提高正确性:可以对对象进行独立的测试。

第二章:用户与操作系统的接口

  操作系统为用户提供了两类接口:作业控制级接口(命令级接口1) 和 程序级接口2(系统调用或应用程序接口)

一个侧重:用户  另一个侧重 程序!

作业控制级接口

包括脱机控制级接口(批处理系统中) 和 联机用户接口(分时系统中)

作业

   用户一次请求计算机系统为其完成任务所进行工作的总和,通常由若干个相对独立的步骤组成,一个步骤称为一个作业步。

作业类型:

脱机作业:又称为批处理作业,用作业控制语言描绘成作业控制卡或作业说明书,递交给操作系统

联机作业:交互式作业,用户通过终端或键盘操作命令(Linux命令行?),多出现在分时系统和实时信息系统中。

脱机用户接口:

1)作业控制语言:一般包含I/O命令,编译命令,操作命令,和条件命令

2) 作业控制卡和作业说明书:包括 作业基本描述,作业控制描述,资源要求描述

联机用户接口:

由一组操作系统命令及命令解释程序组成,用于联机作业的控制(shell-bash)

1)命令行模式:linux命令行

2)批处理命令:允许用户预先把一系列命令组织在一种特定的文件-批命令文件,一次建立,多次执行。节省时间,减小出错概率(shell脚本)

3)图形用户接口方式:GUI

程序级接口

应用程序通过系统调用实现与操作系统的通信,并取得操作系统的服务

用户态与核心态:

  当CPU处于用户程序执行状态时称为用户态,CPU处于系统程序执行状态时称为核心态。状态寄存器有一位来记录当前的状态

特权指令和房管指令 

特权指令:只允许在核心态使用的指令

 访管指令:为了使用户也能使用特权指令,访管指令能实现暂时到核心态的转变 

系统调用:

是操作系统给编程使用的唯一接口,实现对硬件部分相关的工作。屏蔽了具体细节。

系统调用的与一般过程调用的区别:

1)运行在不同的系统状态:

        系统调用:调用程序运行在用户态,被调用程序运行在核心态

        一般调用:都运行在用户态

2)状态转换:系统调用要进行中断转核心态进入子程序

3)返回问题:一般过程调用返回时-----可能不能继续执行(要发生进程调度)

4)嵌套调用:都允许嵌套调用

系统调用分类: 

一部分是系统自身需要,一部分是作为服务提供给用户的。

实现:

每个调用都事先约定了编号(功能号),需要符合格式,如参数

如DOS环境下的int 21 号功能,参数在ax中

第三章:进程的描述与控制

单道顺序执行

1)顺序性:一次执行一个程序

2)封闭性:资源封闭性(独占)和结果封闭性(结果与运行时间无关)

3)可再现性:只要环境和初始环境相同,最终结果都一样

程序并发执行

并发性:多个程序同时在内存中通过进程调度运行,会发生跟时间有关的错误--如死锁

与时间有关的错误原因:

1)与众多程序执行的速度有关

2)由于多个程序都共享了一个变量,或者需要互相同步协调

3)对于协调没有有效的进行控制

特点:

1)失去了封闭性和可在线性:不在只依靠初始数据,资源也不再独占,还依靠与执行过程中的共享改变

2)程序与任务不再一一对应:一个程序可以对应多个(用户)任务

3)并发执行过程中存在相互制约的关系:

         资源的间接制约

         读写的直接制约(必须写入内容之后才能读取)

进程

   是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源和调度的一个独立单位

特性:

1)动态性:进程有生命周期,而程序只是个静态实体

2)并发性:多个进程实体同时存在于内存中,通过进程调用来执行

3)独立性:是一个系统进行资源分配和调度的基本单位,能独立运行。未建立进程的程序都不能作为一个独立的单位参与运行

4)异步性:不可预知,跟操作系统的异步性一样

5)结构性:为了对进程进行控制协调:操作系统必须为每个进程建立一个进程控制块(process control block)PCB---用于描述进程的控制和管理信息

      从结构上看,进程分为三部分:程序,数据,进程控制块三部分 组成的活动实体

进程-程序 进程-作业区别:

进程和作业的区别_xiaotai1234的博客-CSDN博客_作业和进程

进程控制块(PCB)

   pcb包含了进程的描述信息,控制信息,资源信息--是进程动态特征的集中反应,会随着进程的推进而改变,一般全部或部分常驻于内存中,主要包括一下四类信息:

1)进程标识符信息:分为外标识符(供用户记忆)内标识符(方便系统使用而设置),用于唯一的标识一个进程

2)处理器状态信息:主要由各种寄存器中的内容组成,被中断时,保存在对应的PCB中

     包括通用寄存器,状态字psw,PC,栈指针

3)进程调度信息:进程状态,优先级,事件(阻塞原因),其他信息(调度算法有关信息等)

4)进程控制信息

总结:PCB是操作系统感知

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学生课程成绩查询管理信息系统分析与设计 目 录 一、引言 1.1 系统设计参考模型 ………………………………………………………………1 1.2 系统设计目标 ……………………………………………………………………1 1.3 系统总体设计思想(软件工程方法) …………………………………………1 二、系统分析 2.1 组织结构与功能分析 …………………………………………………………4 2.2 业务流程分析(以"管理信息系统"子课程为例)……………………………4 2.3 数据分布结构及功能分析 ………………………………………………………5 2.3.1 第一层:基础数据及基础数据库分析 …………………………………5 2.3.2 第二层:业务流程数据及业务流程数据库分析 ………………………5 2.3.3 第三层:报表中心数据(综合数据报表)分析 ………………………5 三、系统设计 3.1 进入界面设计 …………………………………………………………………5 3.2 主界面设计 ……………………………………………………………………6 3.3 数据三层分布与数据库设计 ………………………………………6 3.3.1 基础数据库——"学生资料表"及EE~R图……………………………7 3.3.2 业务流程数据库——"平时成绩表"及EE~R图………………………9 3.3.3 报表中心数据库设计——学生实验报告优良率汇总表及EE~R图……10 3.3.4 面向对象数据库设计方法 ………………………………………………12 3.4 系统维护子系统设计 ……………………………………………………………13 3.5 HIPO模块层次结构设计(画图) ……………………………………………13 3.6 代码设计 ………………………………………………………………………14 3.7 菜单式功能查询导航子系统设计 ………………………………………14 四、系统实施 4.1面向对象的流程设计 ……………………………………………………16 4.2运行结果 …………………………………………………………………32 五、a:确定角色(主键、外键) b:确定标准组件或模块 六、实施程序方法 1)手工编程 2)计算机辅助编程 3)购买源代码组件 一、引 言 1.1 系统设计参考模型——速达3000 Pro 由于考虑到要安全、高效的管理,我们选择了优秀的管理信息系统软件——速300 0 Pro 作为此次课程设计的参考模型。 该软件是国首家使用业务导航图形化界面来实现进销存、财务管理和人事工资管理 一体化功能的优秀软件,界面图文并茂,生动形象,简单易用;数据结构与数据库 设计简单清晰;把复杂的业务流程设计归结为编制相关表格或相关数据库设计的简 单过程。 1.2 系统设计目标 为了彻底解决了长期困扰教学信息化工作当中安全性、可靠性的问题;为了使管 理人员可以随时看到更新的数据,极大地提高信息传递的速度;为了管理者再也不必 为聘用专门的操作人员来给众多教师编辑学生成绩资料而殚精竭虑,在此,我设计了 学生课程成绩查询管理信息系统,使得各个使用者在操作上,从此变得那么从容简单 ,省时又省心。 1.3 系统总体设计思想(软件工程方法) 本系统是以原型法和面向对象的开发方法为主,以结构分析法和计算机辅助系统工程 法为辅,并实现了这四种软件开发方法的有机结合。 原型分析法的基本思想是:首先初步了解用户需求,寻找一个优秀的软件原型,通过强 有力的软件环境支持,逐步完善和改进系统,直到用户满意为止。 面向对象的组件设计方法的基本思路就是:任何复杂事物(系统)都是由对象(相 对固定的组件)组成的,而每种对象都有各自的部状态(角色、属性、特征)和运动 规律(改变属性的操作方法,如各种外部和各种下拉按钮)。 结构法,又称生命周期法,是一种最常用且有效的信息系统开发方法,它将整个系统开 发过程分为系统规划、系统分析、系统设计、系统实施四个阶段,并先定好每个阶段 的任务,再按系统的策略和准则完成相应阶段的任务。 计算机辅助系统工程法CASE,从方法论的角度看,计算机辅助开发并不是一门真正意 义上的方法,它是对整个开发过程进行支持的一种技术。 所以在软件系统开发设计时,应该正确划分子系统,然后再设计业务流程、表单组件和 进行互联封装。下面我们来看看系统的总体设计: 二、系统分析 2.1 组织结构与功能分析 组织结构图是一反映组织部各组织部门之间隶属关系的树状结构图。组织结构分析 是系统功能分析中最简单的一步,对进一步详细调查和分析组织的业务功能有一定 的指导和帮助作用。 图2-1 商学院组织结构图 通常,在分析组织情况时,还应画出其业务功能一览表。这样做可以是人们在了解组织 结构的同时,对依附于组织结构的各项业务功能也有一个

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值