OS概论2
实时系统
实时即表示及时,实时计算可以定义为这样一类计算:系统的正确性,不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间。事实上,实时系统最主要的特征,是将时间作为关键参数,它必须对所接收到的某信号做出‘及时’或‘实时’的反应。由此得知,实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时系统的类型
(1)周期性实时任务和非周期性实时任务。周期性实时任务是这样一类任务,外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外 部设备。反之,非周期性实时任务并无明显的周期性,但都必须联系着一个截止时间,或称最后期限,这又可分为(1)开始截止时间,指某任务在某时间以前必须开始执行。 (2)完成截止时间,指某任务在某时间以前必须完成。
(2)硬实时任务和软实时任务。硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。软实时任务也联系一个截止时间,但并不严格,若偶尔 错过了任务的截止时间,对系统产生的影响也不会太大。
单用户单任务操作系统
只允许一个用户上机,且只允许用户程序作为一个任务运行,这是最简单的微机操作系统
单用户多任务操作系统
只允许一个用户上机,但允许用户把程序分为若干个任务,使他们并发执行,从而有效地改善了系统的性能。
多用户多任务操作系统
允许多个用户通过各自的终端,使用同一台机器,共享主机系统的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系 统吞吐量。
操作系统的基本特性(并发,共享,虚拟,异步)
并发
并行性和并发性是即相似又有区别的两个概念,并行性是指两个或多个事件同一时刻发生,而并发性是指两个或多个事件在同一时间间隔内发生。
在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序运行,即微观上这些程序只能是分时交替执行。 例如在1秒中,可以分时段让程序运行,在宏观上,有好多道程序在运行,但微观上,程序是分时交替执行的。
假如在计算机系统中有多个处理机,这些可以并发执行的程序便可以被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序 便可同时执行。
引入进程
在一个未引入进程的系统中,在属于同一个应用程序的的计算程序和I/O程序之间只能是顺序执行,但在为计算程序和I/O程序分别建立一个进程后,这两个进程便可并发执行, 对内存中的多个程序分别建立一个进程,它们就可以并发执行。
所谓进程,是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交 换信息。
进程和并发是现代操作系统中最重要的基本概念,也是操作系统运行的基础。
共享
在OS环境下的资源共享或称资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。
1.互斥共享方式:
系统中的某些资源,虽然可以提供给多个进程使用,但应规定在一段时间内,只允许一个进程访问该资源,即,在系统中应建立一种机制,以保证多个进程对这类资源的互 斥访问。
把这种在一段时间内只允许一个进程访问的资源,称为临界资源或者独占资源。
2.同时访问方式:
系统中还有另一类资源,允许在一段时间由多个进程‘同时’对它们进行访问,这里所谓的同时,在单处理机下是宏观意义上的,而在微观上,这些进程对该资源的访问是交 替进行的。
并发和共享是多用户OS的两个最基本的特征。它们又是互为存在的条件。
资源共享是以进程的并发执行为条件的,若系统不允许并发执行也就不存在资源共享问题。
若系统不能对资源共享实施有效管理,以协调好诸进程对共享资源的访问,也必然会影响到诸进程间并发执行的程度,甚至根本无法并发执行。
虚拟
为了提高通信信道的利用率而引入“虚拟”技术,该技术采用“空分复用”或“时分复用”技术,将一条物理信道变为若干条逻辑信道,使原来只能供一对用户通话的物理信道,变为 能供多个用户同时通话的逻辑信道。
在OS中,把通过某技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。前者是实,即实际存在的,而后者是虚的,是用户感觉上的东西。相应地,把用于实现虚 拟的技术称为虚拟技术,在OS中也是利用时分复用和空分复用技术来实现“虚拟”的。
时分复用技术
时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
空分复用技术
空分复用技术则是利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。
异步
进程是以人们不可预知的速度向前推进的,这就是进程的异步性。
OS概论2的更多相关文章
- OS概论1
1.设计现代OS的主要目标是什么? 在计算机上配置操作系统,其主要目标是:方便性,有效性,可扩充性,开放性. 一个没有OS的操作系统,就必须用机器语言书写程序,如果在计算机上配置了OS,系统便可以使用 ...
- Core OS 层
Core OS层的底层功能是很多其他技术的构建基础.通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架.但是,在直接处理安全事务或和某个外设通讯的时候,则必须要应用到该层的框架. Acce ...
- FreeBSD——艺术、科学、哲学概论
FreeBSD--艺术.科学.哲学概论→→→→→概论: 信息都有一定的时效性.那么现在是什么时间?现在已经发布了 FreeBSD 12.2,距离下一个版本 13.0 还有约 4 个月. 『约定』 使用 ...
- 2.2 追求并发的极致-线程概论 -《zobolの操作系统学习札记》
2.2 追求并发的极致-线程概论 为了追求程序运行之间的并发性,计算机科学家们发明了进程.为了进一步的追求进程内部的并发性,工程师们又提出了线程. 正是线程的出现,给予了程序员更多地操纵OS的自由,可 ...
- NodeJs之OS
OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...
- Node.js:OS模块
os模块,可以用来获取操作系统相关的信息和机器物理信息,例如操作系统平台,内核,cpu架构,内存,cpu,网卡等信息. 使用如下所示: const os = require('os'); var de ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)
Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...
- Mac OS、Ubuntu 安装及使用 Consul
Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...
随机推荐
- 解决错误提示: 未找到 Oracle 客户端和网络组件。
问题描述: 环境:winxp运行程序连接远程Oracle数据库时报错:未找到 Oracle 客户端和网络组件.这些组件是由 Oracle 公司提供的,是 Oracle 8i 版 (或更高) 客户软件安 ...
- dubbox开发rest+json指南【转】
http://dangdangdotcom.github.io/dubbox/rest.html 目录 概述 REST的优点 应用场景 快速入门 标准Java REST API:JAX-RS简介 RE ...
- iOS开发多线程篇---atomic nonatomic区别
摘要 atomic和nonatomic区别用来决定编译器生成的getter和setter是否为原子操 作.atomic提供多线程安全,是描述该变量是否支持多线程的同步访问,如果选择了atomic 那么 ...
- sendStickyBroadcast和sendStickyOrderedBroadcast
sendStickyBroadcast和sendStickyOrderedBroadcast发出的广播会一直滞留(等待),以便有人注册这则广播消息后能尽快的收到这条广播.其他功能与sendBroadc ...
- PHP获取IP所在地区(转)
1.获取IP地址的API新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js新浪多地域测试方法:http:/ ...
- -----------------------------MVC模式理解-----------------------------
1.用户发送请求到控制层: 2.控制层将接受到的请求转发到模型层: 3.模型层将请求结果转发到控制层: 4.控制层将模型层返回的结果进行视图渲染: 5.视图渲染后返回(jstl): 6.将视图展示给用 ...
- 安卓UI美化_drawable
UI美化 drawable资源 ------------------------------------------state drawable资源在不同状态下显示不同的图片在<selector ...
- Hibernate的fetch (转)
fetch ,可以设置fetch = "select" 和 fetch = "join" 用一对多来举例: fetch = "select" ...
- extjs6整合到web项目中
最近有一个项目需要应用extjs作为前端界面,因此研究了一下如何将extjs 6引入到项目中.以下是操作步骤 extjs6下载地址 extjs 6有gpl版本的,下载地址https://www.sen ...
- Nginx高性能服务器安装、配置、运维 (4) —— Nginx服务、架构及其信号
五.Nginx服务.架构及其信号 (1)Nginx服务的查看 1.netstat -antp 查看Nginx是否在80端口运行: 2.ps aux|grep nginx 查看nginx相关进程: 发现 ...