Windows作为操作系统的典型特征和主要功能

news2024/11/27 17:50:28

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows这个我们熟悉的不能再熟悉的系统。

我们每天都在用Windows操作系统,但是其实我们每天直接在打交道的并不是Windows操作系统的内核,而是Windows操作系统的人机交互界面,这个界面其实只是Windows操作系统的一个组件,在Linux上,我们使用Linux系统所使用的界面则只是Linux系统上的一个程序。所以说,我们接触的并不是这些系统的内核。久而久之,我们基本会慢慢把界面里所展示的直观的东西误认为是Windows操作系统本身,其实不是。

今天我们来重新审视Windows操作系统,看看Windows操作系统本身典型特征和主要功能。由Windows操作系统的功能,可以知道Windows操作系统提供的服务有下面这些:提供了一个用以执行程序的环境,提供的服务有程序执行、I/O操作、文件操作、资源分配与保护、错误检测与排除等。

1.Windows操作系统的并发性

讲并发性之前,我们必须搞清楚操作系统的并发性和并行性这两个既相似又有区别的概念。并行性是指两个或多个事件在同一时刻发生:而并发性是指两个或多个事件在同一时间间隔内发生。

在多道程序环境下,并发性是指宏观上在一段时间内有多道程序在同时运行,但在单处理器系统中,每一时刻仅有一道程序在执行,故微观上这些程序是交替执行的。(这里提到一个多道程序环境的概念,我发现现在很多大学的操作系统课程都不讲这个概念,我会在我后续的文章里再解释一下这个概念,大家先估且用字面意思理解)。

举一个例子,假如对于一个学生来说,去食堂吃饭和做作业是需要做的两件事,一般在早上7:00~7:30去食堂吃饭,7:30~11:30做作业,11:30~12:00再次去食堂吃饭,那么在7:00~12:00这个时间间隔内,去食堂吃饭和做作业是两件并发执行的任务;而某些优秀的同学可以一心二用,去食堂吃饭的同时可以做作业,则此时去食堂吃饭和做作业同时进行,即两个任务并行执行。程序的并发执行能有效改善系统的资源利用率,但会使系统复杂化,因此操作系统必须具有控制和管理各种并发活动的能力。

2.Windows操作系统的共享性

资源共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个用户共同使用。并发和共享是Windows操作系统的两个最基本的特征,二者之间互为存在条件。一方面,资源的共享是以程序的并发执行为条件的,若系统不允许程序的并发执行,就不存在资源共享问题;另一方面,若系统不能对资源共享实施有效的管理,也肯定影响到程序的并发执行,甚至根本无法并发执行。根据资源性质的不同,可将资源共享方式分为两种,一种叫互斥共享,一种叫同时访问。

互斥共享。系统中可供共享的某些资源,如打印机、某些变量、队列等一段时间内只能供一个作业使用的资源,只有当前作业使用完毕并释放后,才能被其他作业使用。

同时访问。系统中的另一类资源,如磁盘、可重入代码等,可以供多个作业同时访问。虽然这种“同时”是指宏观上的“同时”,微观上可能是作业交替访问该资源,但作业访问资源的顺序不会影响访问的结果。

并发性和共享性是Windows操作系统最基本的特征。

3.Windows操作系统的虚拟性

在操作系统中,虚拟是指把一个物理上的实体变为若干个逻辑上的对应物,前者是实际存在的,后者是虚拟的,这只是用户的一种感觉。例如,在操作系统中引入多道程序设计技术后,虽然只有一个CPU,每次只能执行一道程序,但通过分时使用,在一段时间间隔内宏观上这台处理器能同时运行多道程序。它给用户的感觉是每道程序都有一个CPU为其服务。

多道程序设计技术可以把一台物理上的CPU虚拟为多台逻辑上的CPU。此外还有虚拟存储器(从逻辑上扩充存储器的容量)、虚拟设备(独占设备变为共享设备)等技术。

4.Windows操作系统的异步性

在多道程序环境中,由于资源等因素的限制,程序是以“走走停停”的方式运行的,就像公共车一样,到站了会停,有红灯了也停,然后又启动。系统中的每道程序何时执行、多道程序间的执行顺序以及完成每道程序所需的时间都是不确定的,因而也是不可预知的。

我们再来看看Windows操作系统的主要功能和提供的服务

如前所述,Windows操作系统的职能是负责系统中软硬件资源的管理,合理地组织计算机的工作流程,并为用户提供一个良好的工作环境和友好的使用界面。下面来说明Windows操作系统的五大基本功能:处理器管理、存储器管理、设备管理、文件管理和用户接口管理。

1.Windows操作系统的处理器管理

处理器管理的主要任务是对处理器的分配和运行实施有效的管理。在多道程序环境下,处理器的分配和运行是以进程为基本单位的,因此对处理器的管理可归结为对进程的管理。

进程管理应实现下述主要功能:

进程控制。负责进程的创建、撤销及状态转换。

进程同步。对并发执行的进程进行协调。

进程通信。负责完成进程间的信息交换。

进程调度。按一定算法进行处理器分配。

2.Windows操作系统的存储器管理

存储器管理的主要任务是对内存进行分配、保护和扩充。存储器管理应实现下述主要功能:

内存分配。按一定的策略为每道程序分配内存。

内存保护。保证各程序在自己的内存区域内运行而不相互干扰。

内存扩充。为允许大型作业或多作业运行,须借助虚拟存储技术去获得增加内存的效果。

3.Windows操作系统的设备管理

计算机外设的管理是操作系统中最庞杂、琐碎的部分。设备管理的主要任务是对计算机系统内的所有设备实施有效管理。设备管理应具有下述功能:

设备分配。根据一定的设备分配原则对设备进行分配。

设备并行工作。为了使设备与主机并行工作,还需采用缓冲技术和虚拟技术。

设备传输控制。实现物理的输入/输出操作,即启动设备、中断处理、结束处理等。

设备独立性。即用户程序中的设备与实际使用的物理设备无关。

4.Windows操作系统的文件管理

操作系统中负责信息管理的部分称为文件系统,因此称为文件管理。文件管理的主要任务就是有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题。文件管理应实现下述功能:

文件存储管理。负责对文件存储空间进行管理,包括存储空间的分配与回收等功能。

目录管理。目录是为方便文件管理而设置的数据结构,它能提供按名存取的功能。

文件操作管理。实现文件的操作,负责完成数据的读写。

文件保护。提供文件保护功能,防止文件遭到破坏。

5.Windows操作系统的用户接口管理

为方便用户使用操作系统,操作系统还提供了用户接口。操作系统是覆盖在硬件上的第一层软件,是计算机底层硬件和用户之间的接口,只有通过操作系统提供的接口才能完成用户或应用程序对系统硬件的访问。在Windows系统中提供了命令行和图形界面两种用户接口以及程序接口,也就是如下3种接口方式提供给用户使用。

Windows操作系统是架构在硬件上的第一层软件,是计算机底层硬件和用户之间的接口。利用操作系统,才能实现应用程序(或用户)对系统硬件的访问。任何操作系统都会向上层提供接口,操作系统接口是方便用户使用计算机系统的关键。操作系统的接口分为用户接口和程序接口两大类。用户接口又包括命令接口和图形接口。

命令接口。命令接口是以命令的方式使用系统的用户界面。操作系统提供了一组联机命令接口,用户在文本方式的界面上,通过键盘输入相关命令,获得操作系统的服务,控制用户程序的执行。命令执行的结果也以文本方式显示在界面上。命令接口的特点是效率高、灵活,但不易使用,需要记忆相关命令及语法。提供一组命令供用户直接或间接控制自己的作业。主要有两种命令接口控制方式,即联机命令接口和脱机命令接口。

联机命令接口又称交互式命令接口,适用于分时或实时操作系统,它由一组键盘操作命令组成,用户通过控制台或终端输入操作命令,向系统提出各种服务要求,用户每输入完一条命令,控制权就转入操作系统的命令解释程序,然后由命令解释程序对输入的命令解释并执行,完成执行的功能。之后控制权又转回到控制台或终端,此时用户又可以输入下一条命令。这种方式我们现在用得最多,我们通过实时命令与计算机对话。

脱机命令接口又称批处理命令接口,即适用于批处理系统,它由一组作业控制命令(或称作业控制语句)组成,脱机用户不能直接干预作业的运行,应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。当系统调度到该作业时,由系统中的命令解释程序对作业说明书上的命令或控制语句逐条解释执行从而间接地控制作业的运行。

程序接口。也称为系统调用,是程序级的接口,由系统提供一组系统调用命令供用户程序和其他系统程序调用。用户在程序中可以直接使用这组系统调用命令向操作系统提出各种服务要求,如使用外设、申请分配内存、磁盘文件的操作等。

程序接口是由一组系统调用命令组成的,这些命令可供应用程序使用,使程序员访问系统资源。系统调用是操作系统提供给应用程序访问系统资源的唯一接口。每个系统调用都是一个能完成特定功能的子程序。用户接口属于高级接口,是用户与操作系统的接口;程序接口是低级接口,是任何内核外的程序与操作系统之间的接口。用户接口的功能最终是通过程序接口来实现的。

图形接口。图形接口是指通过图标、窗口、菜单、对话框及文字组合,在桌面上形成一个直观易懂、使用方便的计算机操作环境,以鼠标驱动方式使用系统的用户界面。用户通过鼠标,操作图形界面上的各种图形元素,实现与系统的交互,控制程序的执行。运行结果也以图形方式进行显示。

图形接口的特点是直观,不需要记忆命令和语法,轻松使用系统。操作系统上的图形接口(也称图形界面)是联机命令接口的图形化。这个部分就是和大家每天打交道最多的部分。大家通过鼠标去点击图形界面上的按钮等内容,有效的去操作计算机。

作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。

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

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

相关文章

Docker部署Springboot项目(含MySQL+Redis)

使用Docker部署之前写的一个博客项目,主要用到了MySQL和Redis,Redis作网站访问量统计。下面会对具体的部署方式作详细讲解 一、服务器安装Docker 1、删除docker旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \…

(三十五)大白话MySQL一个事务多次查询一条数据读到的都是不同的值,这就是不可重复读?

上一讲我们说完了多个事务并发执行时候,对MySQL的缓存页里的同一行数据同时进行更新或者查询的时候,可能发生的脏写和脏读的问题 我们也都理解了,之所以会发生脏写和脏读,最关键的,其实是因为你一个事务写或者查的是人…

黑盒测试的常用方法

这里我们先设置一个示例,后面的文章中会根据示例来进行讲解 假设有一个程序是判断一个整形数字是否属于1-100 目录 1.等价类法 2.边界值法 3.判定表法 4.场景设计法 5.错误猜测法 6.正交法 1.等价类法 概念:系统性的确定要输入的测试条件的方法可以看出概念非常抽象,那…

命令执行漏洞 | iwebsec

文章目录1 靶场环境2 命令执行漏洞介绍3 靶场练习01-命令执行漏洞02-命令执行漏洞空格绕过03-命令执行漏洞关键命令绕过04-命令执行漏洞通配符绕过05-命令执行漏洞base64编码绕过4 命令执行漏洞危害01-读写系统文件02-执行系统命令03-种植恶意木马04-反弹shellpython反弹shellp…

Android 基础知识4-3.4 ImageView(图像视图)详解

一、ImageView简介 ImageView是Android开发中最常用的组件之一,主要用于显示图片,但是它不只是能显示图片,任何Drawable对象都可以使用它来显示。 二、ImageView 的继承关系 ImageView的继承关系 如下: java.lang.Object 《-- …

生成式语言大模型压缩技术思考——以ChatGPT为例

ChatGPT引领了生成式语言大模型的应用与技术热潮,首先简单回顾ChatGPT应用范式:将其应用于指定的下游任务时(如知识问答、翻译、编码),ChatGPT需要经历三个阶段的训练(增强人类语境的猜想)&…

基于nodejs+vue的平面设计课程管理系统vscode

后台由管理员,教师和学生三个角色,其主要功能包括首页,个人中心,学生管理,教师管理,课程类型管理,课程学习管理,试题讲解管理,作业信息管理,作业提交管理&…

Flutter3引用原生播放器-IOS(Swift)篇

前言由于Flutter项目中需要使用到播放器功能,因此对flutter中各种播放器解决方案进行了一番研究和比对,最后决定还是自己通过Plugin的方法去引用原生播放器符合自己的需求,本篇文章会对各种解决方案做一个简单的比较,以及讲解一下…

STM32—DMA

什么是DMA? DMA(Direct Memory Access,直接存储器访问) 提供在外设与内存、存储器和存储器、外设与外设之间的高速数据传输使用。它允许不同速度的硬件装置来沟通,而不需要依赖于CPU,在这个时间中,CPU对于内存的工作来…

Leetcode 剑指 Offer II 016. 不含重复字符的最长子字符串

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长…

软考之操作系统知识

目录 1.进程管理-进程的概念 2.进程的三态图和五态图 3.进程的同步与互斥 4.PV操作应用 5.死锁问题 6.银行家算法 7.存储管理 8.段式存储组织 9.段页式存储组织 10.页面置换算法 11.磁盘管理 12.作业管理 13.索引文件结构 14.树型目录结构 15.空闲存储空间管理 …

第四届蓝桥杯省赛 C++ B组 - 翻硬币

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:蓝桥杯题解集合 📝原题地址:翻硬币 📣专栏定位:为想参加蓝桥杯的小伙伴整理常考算法题解,祝大家都…

人工智能学习07--pytorch09--LeNet

参考: 视频: https://www.bilibili.com/video/BV187411T7Ye/?spm_id_from333.999.0.0&vd_sourceb425cf6a88c74ab02b3939ca66be1c0d 博客:https://blog.csdn.net/STATEABC/article/details/123661612?utm_mediumdistribute.pc_feed_404.…

如何使用goquery进行HTML解析以及它的源码分析和实现原理

目录 goquery 是什么 goquery 能用来干什么 goquery quick start 玩转goquery.Find() 查找多个标签 Id 选择器 Class 选择器 属性选择器 子节点选择器 内容过滤器 goquery 源码分析 图解源码 总结 goquery 简介 goquery是一款基于Go语言的HTML解析库,…

聚类算法(上):8个常见的无监督聚类方法介绍和比较

无监督聚类方法的评价指标必须依赖于数据和聚类结果的内在属性,例如聚类的紧凑性和分离性,与外部知识的一致性,以及同一算法不同运行结果的稳定性。 本文将全面概述Scikit-Learn库中用于的聚类技术以及各种评估方法。 本文将分为2个部分&…

【Mac 教程系列】如何在 Mac 中用终端命令行方式打开 Sublime Text ?

如何在 Mac 中用终端命令行方式打开 Sublime Text ? 用 markdown 格式输出答案。 不少于1000字。细分到2级目录。 如何在 Mac 中用终端命令行方式打开 Sublime Text ? 一、首先确保已经安装 Sublime Text 前往官网https://www.sublimetext.com/下载 Sublime Text&#xff0c…

Bootstrap表单的使用

文章目录前言一、创建基础表单垂直表单(默认)内联表单(水平显示)表单控制尺寸大小给表单控件添加帮助文本禁用/只读表单无边框的控件取色器选择菜单(默认宽度100%)调整下拉菜单的大小表单开关滑块表单组多个…

LabVIEW网络服务安全

LabVIEW网络服务安全如何保护Web服务?当许多人考虑安全性时,他们会考虑加密、用户ID和密码。用户ID和密码用于授权(告诉目标谁在发出请求)。加密保护客户端和服务器之间的通信流量,以便未经授权的个人无法拦截和读取发…

【架构师】零基础到精通——康威定律

博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…

20_FreeRTOS低功耗模式

目录 低功耗模式简介 STM32低功耗模式 Tickless模式详解 Tickless模式相关配置 实验源码 低功耗模式简介 很多应用场合对于功耗的要求很严格,比如可穿戴低功耗产品、物联网低功耗产品等。 一般MCU都有相应的低功耗模式,裸机开发时可以使用MCU的低功耗模式。 FreeRTOS也…