非零基础自学计算机操作系统 第1章 操作系统概述 1.6 操作系统的界面形式 1.7 操作系统的运行机理

news2024/11/19 1:40:03

非零基础自学计算机操作系统

文章目录

      • 非零基础自学计算机操作系统
      • 第1章 操作系统概述
        • 1.6 操作系统的界面形式
          • 1.6.1 交互终端命令
          • 1.6.2 图形用户界面
          • 1.6.3 触屏用户界面
          • 1.6.4 作业控制语言
          • 1.6.5 系统调用命令
        • 1.7 操作系统的运行机理

第1章 操作系统概述

1.6 操作系统的界面形式

从虚拟机的观点来看,操作系统是对计算机硬件的第一级扩充,也是最基本、最重要的扩充,配有操作系统的计算机在功能等方面与裸机相比大大增强了。

在大多数情况下,用户通过操作系统与计算机硬件打交道,而不直接使用计算机硬件。那么,用户是如何使用操作系统的呢?换句话说,用户与操作系统之间的界面形式是什么样的呢?

一般来说,操作系统为用户提供5种界面形式:

  • 交互终端命令
  • 图形用户界面
  • 触屏用户界面
  • 作业控制语言
  • 系统调用命令
1.6.1 交互终端命令

交互终端命令(又称命令行,command line)是分时操作系统所具有的界面形式。

系统为交互终端用户提供一组交互式命令,用户可以通过终端键盘输入这些命令。每个输入命令都被操作系统中的命令解释程序所接收,该程序分析接收到的命令,然后调用操作系统中的相应模块完成此命令所要求的功能,最后将此命令的执行结果输出给用户,用户根据此结果决定下一条命令的输入,直到用户完成自己的工作。

交互终端命令界面由命令解释程序提供,该程序通常属于操作系统内核,但是UNIX系统的交互式命令解释程序由shell(外壳)提供,而shell并不属于系统核心,而是运行于核心之外的目态程序,它通过系统调用与核心打交道,完成命令所要求的动作。

交互终端命令的一般形式为“命令名选项参数”,其中命令名指定操作功能,选项是对命令功能的调整,参数是命令操作的对象。一般系统都提供几十条甚至上百条交互式命令,操作人员必须熟记这些命令,才能对系统应用自如,这一般只有计算机专业人员才能做到。

1.6.2 图形用户界面

考虑用户尤其是非计算机专业人员使用计算机系统的方便性,现代操作系统都提供了图形用户界面(GUI)形式,GUI在本质上也属于交互式界面形式,只不过界面由命令行转变为图形提示和鼠标操作。

图形用户界面一般由视窗、图标、菜单、对话框等基本元素以及对基本元素所能进行的操作构成。在有些系统如Windows中,仍然保持一个行式命令的界面,不过该界面实际上是作为一个特殊的视窗实现的。

1.6.3 触屏用户界面

由于感应式接触屏幕的出现和普及,在手机和平板电脑上出现了触屏界面形式,这类设备一般没有键盘和鼠标,用户通过触摸和手的姿势产生中断,与操作系统进行交互,这类设备也可以在屏幕上仿真一个键盘,通过触摸虚拟按键输入文字。

1.6.4 作业控制语言

这是批处理系统所具有的界面形式。

系统为用户提供一种作业控制语言(job control language,JCL)。当用户欲提交批作业时,他使用这种语言书写作业说明书,该说明书以操作系统所能识别的形式描述一个用户作业的处理步骤,然后将此说明书与程序、数据一道提交给操作系统。操作系统将按照作业说明书所规定的步骤一步一步地处理作业。

作业说明书是用一种专门的语言书写的,称为作业控制语言,作业控制语言是与操作系统相关的。不同的操作系统具有不同的作业控制语言,一般包含几十个作业控制命令。作业控制语言是批处理系统中操作系统与用户之间的主要界面形式。

1.6.5 系统调用命令

系统调用(system call)命令也称为应用程序接口(application program interface,API),这是在用户程序级别上与操作系统打交道的方式。

几乎所有类型的操作系统都有这种接口。操作系统为用户提供一组系统调用命令,用户可以将这些系统调用命令写在程序中。当用户程序在运行过程中执行到这些系统调用命令时,将发生自愿性中断,进入操作系统。

操作系统将根据不同的系统调用命令转到相应的处理程序完成该调用命令所要求的服务。

系统调用命令通常可以分为以下几类:

  • 与文件相关的系统调用命令,如建立文件、撤销文件、打开文件、关闭文件、读写文件等:
  • 与进程相关的系统调用命令,如创建子进程、撤销子进程、跟踪子进程等:
  • 与进程间通信相关的系统调用命令,如发送消息、接收消息、发送信件、接收信件等:
  • 与资源相关的系统调用命令,如申请资源、释放资源等。

应当指出,用户与操作系统之间的5种界面形式是操作系统所提供的。对于不同的操作系统来说,这5种界面形式不尽相同。

从用户的角度来说,当然希望能够将所有操作系统与用户之间的5种界面形式统一化、标准化。但是由于历史的原因以及机器结构等方面的差异,目前尽管在统一作业控制语言方面已经有人做了一些有益的工作,但是从整体来看进展不大。

1.7 操作系统的运行机理

操作系统是中断驱动的,考虑一个系统中并发执行的两个程序P1和P2,假设在时刻t1程序P1执行,在时刻t2程序P2执行,t1<t2,则在时刻(t1,t2)之间一定发生过中断,即中断是程序切换的必要条件

实际上,程序P1不可能将CPU的使用权限直接交给程序P2,将处理器的使用权限由P1转交给P2只能由操作系统完成,而操作系统要完成CPU的重新分配必须首先获得CPU的使用权。

操作系统取代P1成为处理器的持有者的唯一途径是中断。中断将引出新的程序状态字并导致系统由目态转到管态,即进入操作系统。操作系统在执行完中断例程之后,既可能继续执行P1,也可能决定执行P2,这与CPU的调度原则有关。

在后一种情况下,操作系统将保存P1的状态信息,然后恢复P2的状态信息并通过置程序状态字指令使系统转到目态运行P2。多道程序运行机理如下图所示。

在这里插入图片描述

有许多可能引起中断的事件,这些事件既可能与运行进程有关,如访管、地址越界、非法指令、溢出等,也可能与运行进程无关,如系统时钟、I/O设备完成信号等。

这里统一使用“中断”这一术语,在有些书籍中除“中断”外还使用“访管”“自陷”“功能调用”等术语,实质上它们都属于自愿性中断。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac回收站清空还能恢复吗?苹果电脑删除的文件怎么恢复

mac回收站清空还能恢复吗&#xff1f;通常&#xff0c;我们右键从电脑上删除的文件&#xff0c;都是被保存在回收站的&#xff0c;那么从回收站删除的文件去哪儿了呢&#xff1f; 当文件从回收站删除后&#xff0c;这些文件还保留在电脑系统上面&#xff0c;只是我们没有办法看…

Java性能调优System的gc垃圾回收方法

java性能调优System的gc垃圾回收方法 java性能调优System的gc垃圾回收方法示例解 一、什么是System.gc()&#xff1f; System.gc()是用Java&#xff0c;C&#xff03;和许多其他流行的高级编程语言提供的API。当它被调用时&#xff0c;它将尽最大努力从内存中清除垃圾&#…

ABHD5 调控细胞自噬依赖的嘧啶合成介导结肠癌对5-FU 的药物敏感性改变

​ 发表期刊&#xff1a;Nature Communications 影响因子&#xff1a;12.353 发表时间&#xff1a;2019年 合作单位&#xff1a;第三军医大学附属西南医院 今天百趣代谢组学将给大家分享Nature Communications上的一篇文章&#xff1a;ABHD5 blunts the sensitivity of col…

这 88 道阿里高级岗面试题,刷掉了 80% 以上的 Java 程序员

2022&#xff0c;可谓是招聘面试最难季。不少大厂&#xff0c;如腾讯、字节的招聘名额明显减少&#xff0c;面试门槛却一再拔高&#xff0c;如果不用心准备&#xff0c;很可能就被面试官怼得哑口无言。今天不谈其它&#xff0c;就说说我作为面试官面试的那些事儿。 从某电商项目…

JVM监控及诊断工具之命令行篇

文章目录1. 概述2. jps&#xff1a;查看正在运行的Java进程3. jstat&#xff1a;查看JVM统计信息4. jinfo&#xff1a;实时查看和修改JVM配置参数5. jmap&#xff1a;导出内存映像文件&内存使用情况6、jhat&#xff1a;JDK自带堆分析工具7 jstack&#xff1a;打印JVM中线程…

基于微信小程序的旅游系统-计算机毕业设计

项目介绍 随着人民生活水平的提高,旅游业已经越来越大众化,而旅游业的核心是信息,不论是对旅游管理部门、对旅游企业,或是对旅游者而言,有效的获取旅游信息,都显得特别重要.自助定制游将使旅游相关信息管理工作规范化、信息化、程序化,提供旅游景点、旅游线路,旅游新闻等服务本…

_5LeetCode代码随想录算法训练营第五天-C++哈希表

_5LeetCode代码随想录算法训练营第五天-C哈希表 LeetCode 242.有效的字母异位词LeetCode 349.两个数组的交集LeetCode 202.快乐数LeetCode 1.两数之和 本文截图参考代码随想录&#xff1a;https://programmercarl.com/ 哈希表 定义 哈希表是根据键值而直接进行访问的数据结…

shell 创建子进程及并行延时执行命令方法

shell 创建子进程方法 1. 什么是shell子进程 子进程&#xff0c;是从父子进程的概念出发的&#xff0c;unix操作系统的进程从init进程开始&#xff08;init进程为1,而进程号0为系统原始进程&#xff0c;以下讨论的进程原则上不包括进程0)均有其对应的子进程&#xff0c;就算是…

POI通过模板导出excel(包含表头合并处理)

最近接触到比较多poi相关的需求&#xff0c;总结一下通过模板导出以及表头合并的一些复杂情况处理。 简单使用的话可以参考下我之前写的 POI实现导入导出excel 目录&#xff1a;1、POI通过模板导出2、POI表头合并处理1、POI通过模板导出 其实通过模板导出的原理&#xff0c;无…

2021 年年度最佳开源软件

Svelte https://svelte.dev/ Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作&#xff0c;而 Svelte 将这些工作放到构建应用程序的编译阶段来处理。 与使用虚拟&#xff08;virtual&#xff09;DOM 差异对比不同。Svelte 编写的…

DAla-Gly-Gly,77286-90-9

Substrate for bacterial D-aminopeptidases.细菌d -氨基肽酶的底物。 编号: 191616中文名称: 三肽DAla-Gly-Gly英文名: DAla-Gly-GlyCAS号: 77286-90-9单字母: H2N-DAla-GG-OH三字母: H2N-DAla-Gly-Gly-COOH氨基酸个数: 3分子式: C7H13N3O4平均分子量: 203.2精确分子量: 203.0…

虚拟现实 VR 碰撞 3D 可视化,图扑打造一体化管控平台

工信部《虚拟现实产业发展白皮书 5.0 》中明确提出&#xff1a;“通过财政资金促进虚拟现实技术产业化&#xff0c;支持面向工业、文化、教育等重点行业的虚拟现实技术应用”。 虚拟现实 VR 技术以用户体验视角为中心&#xff0c;跟踪反馈在 3D 场景中的动作&#xff0c;借助软…

kali工具学习

目录 1.waybackurls 网络爬虫&#xff0c;url搜索 2.wafw00f 检测网站用了什么waf 3.theHarvester ip、邮箱、host搜集 4. oneforall 子域名搜集 5. nmap kali自带的扫描工具 6. whatweb 指纹查询 1.waybackurls 网络爬虫&#xff0c;url搜索 2.wafw00f 检测网…

阿里巴巴注册中心nacos

目录 一、配置中心介绍 1、Spring Cloud Config 2、Nacos替换Config &#xff08;1&#xff09;应用场景 二、读取Nacos配置中心的配置文件 1、在Nacos创建统一配置文件 2、以service-statistics模块为例 3、补充&#xff1a;springboot配置文件加载顺序 三、名称空间…

网络实验之VRRP协议

一、VRRP协议简介 虚拟路由冗余协议(Virtual Router Redundancy Protocol&#xff0c;简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议。VRRP是一种路由容错协议&#xff0c;也可以叫做备份路由协议。一个局域网络内的所有主机都设置缺省路由&…

MySQL入门阶段这一篇就够了-学习笔记(手敲1.5万字)

前言 虽然在大一下学期&#xff0c;就已经接触到了MySQL&#xff0c;但是那个时候只是会用MySQL进行增删改查&#xff0c;在大三上学期&#xff0c;尝试投简历寻找实习时&#xff0c;对方公司对于程序员的MySQL水平有很高的要求&#xff0c;所以我开始系统化的学习MySQL。顺便…

想写出复用性强的组件?快来试试 Storybook 吧

简介 Storybook 是 UI 组件的开发环境&#xff0c;它允许开发者浏览组件库&#xff0c;查看每个组件的不同状态&#xff0c;以及交互地开发和测试组件。 Storybook 可帮助你记录组件以供重用&#xff0c;并自动对组件进行可视化测试以防止出现错误。 开始 在对 Storybook 有…

halcon measure_pos和measure_pairs详解

这两个算子作为halcon一维测量的关键&#xff0c;看了这两个算子的多个博客&#xff0c;也没搞清楚里面几个参数的意义和测量的原理&#xff0c;决定自己详细试一下&#xff0c;将测试的过程详细记录下来&#xff0c;供以后需要参考的朋友使用&#xff0c;本文将从以下几个点说…

使用bat脚本运行python脚本,bat出现闪退,怎么解决?

前言 本文是该专栏的第4篇,后面会持续分享python的各种干货知识,值得关注。 工作上为了方便,很多时候我们会设置一个bat脚本来双击运行python脚本,这样既方便又能在工作上节约大量时间。 但是,你或许会碰到这样的情况,当双击bat脚本的时候,bat窗口界面会直接出现闪退关…

DM8设置自动备份,达梦数据库,自动备份。详细步骤。常用命令,启动关闭数据库,查看DMAP状态

常用命令 DmServiceDAMENG.service改成自己bin目录下文件名 运维常见问题&#xff0c;官方文档 注意事项 登录客户端工具&#xff0c;一定要使用SYSDBA用户进行下面的客户端操作 登录数据库主机&#xff0c;一定要使用安装数据库时创建的dmdba用户 定时备份前请先配置本地…