实时系统

  实时即表示及时,实时计算可以定义为这样一类计算:系统的正确性,不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间。事实上,实时系统最主要的特征,是将时间作为关键参数,它必须对所接收到的某信号做出‘及时’或‘实时’的反应。由此得知,实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

  实时系统的类型

  (1)周期性实时任务和非周期性实时任务。周期性实时任务是这样一类任务,外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外  部设备。反之,非周期性实时任务并无明显的周期性,但都必须联系着一个截止时间,或称最后期限,这又可分为(1)开始截止时间,指某任务在某时间以前必须开始执行。  (2)完成截止时间,指某任务在某时间以前必须完成。

  (2)硬实时任务和软实时任务。硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。软实时任务也联系一个截止时间,但并不严格,若偶尔  错过了任务的截止时间,对系统产生的影响也不会太大。

  单用户单任务操作系统

  只允许一个用户上机,且只允许用户程序作为一个任务运行,这是最简单的微机操作系统

  单用户多任务操作系统

  只允许一个用户上机,但允许用户把程序分为若干个任务,使他们并发执行,从而有效地改善了系统的性能。

  多用户多任务操作系统

  允许多个用户通过各自的终端,使用同一台机器,共享主机系统的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系  统吞吐量。

  操作系统的基本特性(并发,共享,虚拟,异步)

  并发

  并行性和并发性是即相似又有区别的两个概念,并行性是指两个或多个事件同一时刻发生,而并发性是指两个或多个事件在同一时间间隔内发生。

  在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序运行,即微观上这些程序只能是分时交替执行。  例如在1秒中,可以分时段让程序运行,在宏观上,有好多道程序在运行,但微观上,程序是分时交替执行的。

  假如在计算机系统中有多个处理机,这些可以并发执行的程序便可以被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序  便可同时执行。

  引入进程

  在一个未引入进程的系统中,在属于同一个应用程序的的计算程序和I/O程序之间只能是顺序执行,但在为计算程序和I/O程序分别建立一个进程后,这两个进程便可并发执行,  对内存中的多个程序分别建立一个进程,它们就可以并发执行。

  所谓进程,是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交  换信息。

  进程和并发是现代操作系统中最重要的基本概念,也是操作系统运行的基础。

  共享

  在OS环境下的资源共享或称资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。

    1.互斥共享方式:

    系统中的某些资源,虽然可以提供给多个进程使用,但应规定在一段时间内,只允许一个进程访问该资源,即,在系统中应建立一种机制,以保证多个进程对这类资源的互    斥访问。

    把这种在一段时间内只允许一个进程访问的资源,称为临界资源或者独占资源。

    2.同时访问方式:

    系统中还有另一类资源,允许在一段时间由多个进程‘同时’对它们进行访问,这里所谓的同时,在单处理机下是宏观意义上的,而在微观上,这些进程对该资源的访问是交    替进行的。

    并发和共享是多用户OS的两个最基本的特征。它们又是互为存在的条件。

    资源共享是以进程的并发执行为条件的,若系统不允许并发执行也就不存在资源共享问题。

    若系统不能对资源共享实施有效管理,以协调好诸进程对共享资源的访问,也必然会影响到诸进程间并发执行的程度,甚至根本无法并发执行。

  虚拟

  为了提高通信信道的利用率而引入“虚拟”技术,该技术采用“空分复用”或“时分复用”技术,将一条物理信道变为若干条逻辑信道,使原来只能供一对用户通话的物理信道,变为  能供多个用户同时通话的逻辑信道。

  在OS中,把通过某技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。前者是实,即实际存在的,而后者是虚的,是用户感觉上的东西。相应地,把用于实现虚  拟的技术称为虚拟技术,在OS中也是利用时分复用和空分复用技术来实现“虚拟”的。

  时分复用技术

  时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。

  空分复用技术

  空分复用技术则是利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。

  异步

  进程是以人们不可预知的速度向前推进的,这就是进程的异步性。

OS概论2的更多相关文章

  1. OS概论1

    1.设计现代OS的主要目标是什么? 在计算机上配置操作系统,其主要目标是:方便性,有效性,可扩充性,开放性. 一个没有OS的操作系统,就必须用机器语言书写程序,如果在计算机上配置了OS,系统便可以使用 ...

  2. Core OS 层

    Core OS层的底层功能是很多其他技术的构建基础.通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架.但是,在直接处理安全事务或和某个外设通讯的时候,则必须要应用到该层的框架. Acce ...

  3. FreeBSD——艺术、科学、哲学概论

    FreeBSD--艺术.科学.哲学概论→→→→→概论: 信息都有一定的时效性.那么现在是什么时间?现在已经发布了 FreeBSD 12.2,距离下一个版本 13.0 还有约 4 个月. 『约定』 使用 ...

  4. 2.2 追求并发的极致-线程概论 -《zobolの操作系统学习札记》

    2.2 追求并发的极致-线程概论 为了追求程序运行之间的并发性,计算机科学家们发明了进程.为了进一步的追求进程内部的并发性,工程师们又提出了线程. 正是线程的出现,给予了程序员更多地操纵OS的自由,可 ...

  5. NodeJs之OS

    OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...

  6. Node.js:OS模块

    os模块,可以用来获取操作系统相关的信息和机器物理信息,例如操作系统平台,内核,cpu架构,内存,cpu,网卡等信息. 使用如下所示: const os = require('os'); var de ...

  7. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  8. Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)

    Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...

  9. Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...

随机推荐

  1. PS Studio打包程序 .net版本依赖

    PS Studio打包好的程序(Win7下),拿到Windows Server 2003(PS2.0),如果提示”.Net framework初始化错误“,则需要安装 .net 3.0 如果是PS3. ...

  2. 通达OA 小飞鱼工作流在线培训教程文件夹及意见征集

    最近通达OA技术交流群有不少朋友反映说表单设计这块 改动样式的问题,这块须要html和css的改动.本来最近正好要在工作流这块准备做一个系列的课程,都是基础的设置主要是给刚接触工作流的朋友用的,大家有 ...

  3. 不支持的关键字:“provider connection string”报错信息及解决方案

    今天在部署公司开发框架的时候 ,登录系统之后调用代办列表的时候就报错了 总线调用契约XX.Service.Contracts.IXXService上的GetXXCount方法时出错. Resoluti ...

  4. html 笔记

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  5. docker daemonize sshd service

    # 第一个-d表示让容器在后台运行 # 末尾的-D表示启动ssh的daemon模式,不然容器启动后立刻就变为停止状态了 docker run -d NAME/VERSION /etc/init.d/s ...

  6. Spring 3.0 + Atomikos构建jta分布式事务

    Spring3.0已经不再支持jtom了,不过我们可以用第三方开源软件atomikos(http://www.atomikos.com/)来实现.Atomikos是目前在分布式事务管理中做得相当不错的 ...

  7. .Net Framework 各个版本新特性总结 (一)

    .Net Framework 4.5 新特性 最近面试时又看到有问.Net Framework 新特性的问题,一时被问到了.平时也是拿起来就用,新版本出来了,新特性也就是瞄一眼,也没去仔细查看.这次干 ...

  8. 20160329javaweb之JSP -cookie入门

    一.什么是会话? •会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话过程中要解决的一些问题? •每个用户在使用浏览器与服务器 ...

  9. 开源织梦(dedecms)快速搬家图文教程

    前段时间在seowhy班级群里,一个同学问织梦程序怎么搬家,好多人都遇到过这样的问题,不知道怎么去处理,今天小编分享一个简单的方法,帮大家快速搬家织梦. 好了,废话留到最后再说,看下面方法: 1. 登 ...

  10. IOS GCD 的理解

    GCD (Grand Central Dispatch) 是Apple公司开发的一种技术,它旨在优化多核环境中的并发操作并取代传统多线程的编程模式. 在Mac OS X 10.6和IOS 4.0之后开 ...