操作系统计算机系统概述

计算机系统概述

在这里插入图片描述

操作系统基本概念

操作系统的概念

  • 软件是计算机系统的灵魂,而软件核心是操作系统。
  • 计算机系统从上到下分四个部分:硬件,操作系统,应用程序,用户。
  • 操作系统管理各种计算机硬件,并且为应用程序提供基础,充当计算机硬件与用户之间的中介。
  • 硬件比如:CPU,内存,IO设备等提供基本计算资源。应用程序如:字处理程序,编译器,浏览器等规定按照何种方式来使用这些计算资源解决用户的计算问题。操作系统就负责控制和协调各个用户的应用程序对硬件的分配和使用。
  • 综上,OS就是控制和管理整个计算机系统硬件与软件资源,合理组织和调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的集合,也是计算机系统中最基本的系统软件。

操作系统的特征

  • OS是一种系统软件,但与其他系统软件和应用软件有很大不同,它有自己的特殊性即基本特征:并发,共享,虚拟,异步。
  • 并发Concurrence:
    两个或多个事件在同一个时间间隔内发生,OS具有处理和调度多个程序同时执行的能力,同时引入进程的目的就是让程序可以并发执行。
    注意同一时间间隔(并发)和同一时刻(并行)的区别:单个时刻单处理机环境下实际只能有一个程序执行,因此微观上这些程序仍然是分时交替执行的,OS的并发性也是通过分时实现的。
  • 共享sharing:
    即资源共享,系统中资源可以供内存中多个并发执行的进程共同使用,分两种方式:
    ①互斥共享方式:
    系统中某些资源某段时间内只允许一个进程访问资源。把这种资源成为临界资源/独占资源。计算机系统大多物理设备及某些软件中的栈,变量,表格都是临界资源,只允许一个正在使用的进程。
    ②同时访问方式:
    宏观上是“同时”,微观上进程可能是交替地对资源进行访问即“分时共享”的,可供多个进程“同时”访问的资源是磁盘设备。
    (并发和共享是OS最基本特征,相互依赖)
  • 虚拟virtual:
    把物理上的实体变成若干逻辑上的对应物,技术成为虚拟技术,OS利用多种虚拟技术实现虚拟处理器,虚拟内存,虚拟外部设备等。
    虚拟处理器技术通过多道程序设计技术,采用让多道程序并发执行的方法,分时使用一个处理器,一个物理CPU虚拟成为多个逻辑的CPU,成为虚拟处理器。(同理虚拟内存,虚拟外部设备)
    虚拟技术归纳为时分复用,技术,空分复用技术。
  • 异步asynchronism:
    多道程序允许多个程序并发执行,但资源有限,进程执行并不是一贯到底的,而是走走停停的,以不可预知的速度向前推进,这就是进程的异步性。

操作系统的目标和功能

  • OS应该具有以下功能:处理机管理,存储器管理,设备管理, 文件管理,且必须向用户提供接口。
  • 操作系统作为计算机系统资源的管理者:
    ①处理机管理:
    处理机分配和运行都以进程为基本单位,也就是对进程的管理:主要包括进程控制,进程同步,进程通信,进程通信,死锁处理,处理机调度等。
    ②存储器管理:
    给多道程序运行提供环境,方便用户使用及提高内存利用率,包括内存分配和回收,地址映射,内存保护和共享,内存扩充等功能。
    ③文件管理:
    信息都以文件形式存储,负责管理文件部分为文件系统,包括文件存储空间管理,目录管理,文件读写管理和保护。
    ④设备管理:
    设备管理主要任务是完成用户的I/O请求,方便用户使用各种设备,提高设备利用率,包括缓冲管理,设备分配,设备处理,虚拟设备等。
  • 操作系统作为用户与计算机硬件系统之间的接口:
    两类接口:
    ①命令接口:用户利用命令组织控制作业的执行。两种控制作业的方式为联机控制方式和脱机控制方式,所以把接口分为联机命令接口和脱机命令接口。
    联机命令接口:又叫交互式命令接口,适用分时/实时系统的接口。(多次输入命令逐次处理)
    脱机命令接口:又叫批处理命令接口,适用于批处理系统的接口。(一次输入逐次处理)
    ②程序接口:编程人员使用他们请求操作系统服务。由一组系统调用组成,用户通过程序中使用这些系统调用来请求OS服务,比如GUI。
  • 操作系统作为扩充机器:
    没有任何软件支持计算机成为裸机,为物理基础,而实际应该使用OS把裸机改造成功能更强,使用更方便的机器,因此覆盖了软件的机器称为扩充机器/虚拟机。

操作系统的发展与分类

手工操作阶段

  • 计算机计算过程需要人工干预,缺点:①用户独占全机,资源利用率低。②CPU等待手工操作,CPU利用率低。

批处理阶段

  • 为了解决人际矛盾及CPU和IO设备矛盾,出现了批处理系统,分为单道批处理系统和多道批处理系统。
  • 单道批处理系统:
    ①自动性:作业自动逐行运行,无须人工干预。
    ②顺序性:作业完成顺序就是进入内存顺序,先进入先完成。
    ③单道性:内存中只有一道程序运行,结束才让其他程序进入。
    ④但高速CPU仍然等待低速I/O完成状态。
  • 多道批处理系统:
    允许多个程序同时进入内存,允许他们在CPU交替运行,共享系统资源。一道程序因为I/O请求等待,CPU就可以处理其他程序,使得资源利用率提高。
    ①多道:计算机内存中同时存多道程序。
    ②宏观上并行:同时进入内存的程序都处于运行中,但实际是先后运行。
    ③微观上串行:内存中多道程序轮流占用CPU,交替执行。
    ④优点是资源利用率高,系统吞吐量大,资源保持忙碌状态。
    ⑤缺点是用户响应时间长,没有人机交互。

分时操作系统

分时技术:把处理器运行时间分为时间片,轮流分配给作业使用,作业只利用自己的时间片完成计算,没有完成的也停止,也支持多道程序,但是包括人机交互的。
①同时性:允许多个终端用户同时使用计算机。
②交互性:用户通过终端采用人机对话方式控制程序
③独立性:多个用户彼此独立操作互不干扰。
④及时性:短时间内响应用户请求,一个计算机服务多个终端,所以响应及时。
⑤尽管解决了人机交互问题,但短时间反映问题还需要处理,所以出现实时操作系统。

实时操作系统

  • 某个时间限制内完成某些紧急任务而不需要时间片排队,分两种情况:
    ①硬实时系统:某个动作必须绝对在规定时刻发生,则称为硬实时系统。(飞行器控制系统)
    ②软实时系统:能够接收偶尔违反实践规定且不会引起永久性损害。(飞机订票系统)

网络操作系统和分布式计算机系统

  • 网络操作系统是把计算机网络各台计算机有机结合起来,提供一对一,经济有效的使用各台计算机方法,实现各台计算机之间数据的互相传送。网络操作系统最主要的特点是网络中各种资源的共享及各台计算机之间的通信。
  • 分布式计算机系统组成并满足下列条件的系统:系统中任意两台计算机通过通信方式交换信息,每台计算机地位平等,资源所有用户共享,任意计算机都可以构成一个子系统,任何工作都可以分布在几台计算机上,由他们并行工作,协同完成。系统称为分布式计算机系统,特点就是分布性和并行性。

个人计算机操作系统

目前最广泛的操作系统,如Windows,Linux等
在这里插入图片描述

操作系统的运行环境

操作系统的运行机制

  • 计算机系统中,CPU通常执行两种不同性质的程序:一种是OS内核程序,一种是用户自编程序(应用程序)。对于OS来说前者是后者的管理者,因此需要特权指令比如:IO指令,置中断指令等指令。实现上把CPU划分为用户态(只能执行非特权指令)和核心态(可以执行特权指令),应用程序运行在用户态,而OS内核程序运行在核心态。
  • 内核是计算机底层软件,是计算机功能延申,不同系统对于内核定义不同,但大多包括4方面内容:
    ①时钟管理:
    时钟是最关键的设备,第一功能是计时,向用户提供标准系统时间。通过时钟中断的管理实现进程切换(时间片轮转等),因此系统依赖时钟。
    ②中断机制:
    引入中断目的是提高多道程序运行环境中的CPU的利用率,逐步发展形成多种类型,成为OS各项操作的基础。例如:键鼠信息输入,进程调度,设备驱动等。现代OS就是靠中断驱动的软件。
    ③原语:
    OS底层一些可以被调用的小程序,各自完成一定操作,特点:①处于OS最底层,最接近硬件的部分。②程序具有原子性。③运行时间短,而且调用频繁。
    具有这些特点的程序就是原语,定义原语的直接方法就是关闭中断,让所有动作不可分割完成之后再中断,系统中的设备驱动,CPU切换,进程通信等过程就是原语,成为内核组成部分。
    ④系统控制的数据结构和处理:
    系统中登记状态信息的数据结构很多,如作业控制块,进程控制块PCB,设备控制块,各类链表,消息队列,缓冲区,空闲区登记表,内存分配表等,常见操作有:进程管理,存储器管理,设备管理。

中断和异常的概念

  • 中断和异常的定义:
    中断Interruption,也称外中断,来自CPU执行指令以外的事情发生(IO设备中断表示输入输出完毕发生下一个请求;时钟中断表示固定时间片到期),通常是指与当前指令无关的事件。
    异常Exception,也称内中断,例外,陷入trap。指源自CPU指令内部的事情引起的事件(算术溢出,地址越界,非法操作等),对异常处理一般要依赖当前程序运行现场,且异常不能被屏蔽,一旦出现必须处理。
    在这里插入图片描述

  • 中断处理过程:
    在这里插入图片描述

系统调用

  • 指用户在程序调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序。系统内各种共享资源都有OS掌管,在用户程序中,凡是跟资源有关操作都需要系统调用的方式向OS提出服务请求,请OS代为完成,通常这种指令有很多条,分为几大类:设备管理,文件管理,进程控制,进程通信,内存管理。
  • 系统调用相关功能涉及系统资源管理,进程管理等操作,需要特权指令,所以系统调用处理需要由操作系统欸和程序负责完成运行在核心态。用户程序可以执行trap命令发起系统调用,请求OS服务,相当于把CPU使用权交给OS内核程序。用户程序不能直接执行对系统影响很大的操作,必须通过系统调用的方式请求OS执行,以便保证系统稳定性和安全性,防止用户程序随意更改/访问重要的系统资源,影响其他进程执行。
  • OS运行环境理解为:用户通过OS上层程序,而这个程序依赖OS底层管理程序提供服务支持,当需要管理程序服务时,系统则通过硬件中断机制进入核心态,运行管理程序,也可能是程序运行出现异常情况,被动需要管理程序服务,通过异常处理来进入核心态,管理程序运行结束时,用户程序需要继续运行,此时通过响应的保存的程序现场退出中断处理程序/异常处理程序,返回断点处继续执行。

操作系统的体系结构

大内核和微内核

  • 大内核:把OS主要模块作为一个紧密相连的整体运行在核心态,从而为应用提供高性能的系统服务,因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以性能有优势。
  • 微内核:随着功能需求不断增多,大内核难以维护,所以出现微内核。它把内核中最基本的功能保留在内核,而那些不需要在核心态执行的功能移到用户态执行,从而减低了内核设计的复杂性,那些移出内核的OS的代码根据分层的原则被划分成若干服务程序,它们执行相互独立,交互则都借助于微内核进行通信。有效分离了内核与服务,服务与服务,接口更清晰,维护代价降低,各部分都可以独立优化和演进,保证了OS可靠性。但问题就是因为频繁在核心态和用户态之间切换,OS执行开销相当大。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值