首页 > 其他分享 >计算机的灵魂是操作系统

计算机的灵魂是操作系统

时间:2024-01-31 22:32:29浏览次数:33  
标签:计算机 Windows 应用程序 硬件 内核 灵魂 操作系统

要问计算机的灵魂是啥,那肯定是操作系统。这个词现如今对大多数人都不陌生。操作系统的英文名叫Operating System,简单为OS。首先,大多数操作系统都是C语言或汇编语言开发的一系列程序组成的软件,其次,它主要的功能是控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互。

正式定义:负责管理计算机的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统的系统软件。

一、批处理操作系统

早期的计算机并没有操作系统,采用手工操作计算机,用户将与程序和数据对应的穿孔纸带装进输入机,然后启动输入机把程序和数据输入到计算机内存,接着通过控制台启动程序对数据进行运行。计算完毕后,打印输出计算结果,用户可以取走结果,并卸下纸带(或卡片)。

计算机的灵魂是操作系统_数据

后来手工操作比不上机器处理的速度,造成了计算机资源的浪费,于是人们通过输入机将纸带上的作业读入到磁带上,再将磁带上的作业依次读入到内存,最后将由计算机处理数据。这时才产生了操作系统的概念,同时将这个成批自动处理作业的操作系统称为批处理操作系统

二、分时操作系统

随着计算机的发展,出现了分时操作系统。因为计算机的本质是计算,往往人们给它安排的任务在极短的时间内就完成了,剩下的都是输入输出操作,而这些操作与输入设备和输出设备的速度有关,这时计算机处于空闲等待状态。于是,人们将CPU的时间切成一片一片的时间片,将每个极小的时间片分配给不同的任务,而这些任务来自不同的终端请求,也就是说,一台主机联接若干个终端,一台主机处理若干个终端的数据请求。假设有十个终端同时向主机发出操作请求,而且在10毫秒内都完成了该操作,在终端的视角上看,它的请求是及时得到了回复的,而在上帝视角上看,这十个终端的请求好像也是“同时”完成的,其实则不然,这只是因为主机的运算极快,主机此时将自己的时间划分成10个时间片,每个时间片只有1毫秒,所以10毫秒内完成了所有终端的请求。

计算机的灵魂是操作系统_Windows_02

主机很聪明,它通过时间片轮转进行调度,这是一种最古老,最简单,最公平且使用最广的算法,又称RR调度。每个进程都被分配一个时间片。这其实有点像我们有时候下馆子的场景。每次下馆子总是找人多的地儿,意味着那家餐馆比较好吃。只有一两桌的时候,通常的作法是一桌一桌的炒菜,但是人一多,点菜后,等待的时间就越长,这时老板为了避免顾客的不耐烦,就采取了一个策略,就是先把每桌的第一道炒做出来,赶紧上菜,然后再炒每桌的第二道菜,如此往复,直到炒完所有桌的所有菜单。于是,餐饮界的分时炒菜系统就诞生了。在顾客看来,他们都几乎是同时上菜的。只是两道菜之间多了一些等待,起码桌上有吃的,就不再嚷嚷了。

三、实时操作系统

批处理操作系统和分时操作系统虽然能获得较令人满意的资源利用率和系统响应时间,但是不能满足实时控制和实时信息处理的应用需求。后来,人们设计出一种在规定的时间内完成特定功能的操作系统,这能极大的确保效率,并把这样的操作系统称为实时操作系统。

实时操作系统(Real Time Operating System,简称RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。

另外,计算机系统还有网络操作系统、分布式操作系统、个人计算机操作系统、嵌入式操作系统。

四、网络操作系统

网络操作系统是使网络上各计算机能方便而有效地共享网络资源,为网络用户提供所需的各种服务的软件和有关协议的集合。

五、分布式操作系统

分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。

六、个人计算机操作系统

即PC操作系统。最早期出现的是DOS和MS-DOS操作系统,后来微软在其基础之上开发了图形操作系统windows。另外还有一个分支是Unix操作系统,由Unix又衍生出Linux操作系统。

七、嵌入式操作系统

嵌入式操作系统与嵌入式系统有关。现在市场上的仪器仪表、医疗设备、机器人、家用电器等领域硬件的控制中心其实都是由一块芯片在处理,而这个芯片被称为嵌入式的芯片。由这些微处理器芯片所构成的系统称为嵌入式系统,能够操作和管理这套硬件系统的操作系统——我们称为嵌入式操作系统。最典型的就是手机,手机就是一套嵌入式系统,像android、ios这类手机操作系统就是嵌入式操作系统。

我们介绍了形形色色的计算机,它们分处于各自的硬件时代,并成为了人与计算机之间的接口,帮助人们可以更好的操作系统的硬件。若没有操作系统,这一堆由电子管、晶体管、电子元件等构成的机器将无法启动和运行,可以说,操作系统就是计算机的灵魂。

八、操作系统的五大功能

1.处理器管理
处理器是完成运算和控制的设备。在多道程序运行时,每个程序都需要一个处理器,而一般计算机中只有一个处理器。操作系统的一个功能就是安排好处理器的使用权,也就是说,在每个时刻处理器分配给哪个程序使用是操作系统决定的。
2.存储管理
计算机的内存中有成千上万个存储单元,都存放着程序和数据。何处存放哪个程序,何处存放哪个数据.都是由操作系统来统一安排与管理的。这是操作系统的存储功能。
3.设备管理
计算机系统中配有各种各样的外部设备。操作系统的设备管理功能采用统一管理模式,自动处理内存和设备间的数据传递,从而减轻用户为这些设备设计输入输出程序的负担。
4.作业管理
作业是指独立的、要求计算机完成的一个任务。操作系统的作业管理功能包括两点尸是在多道程序运行IC现货商时,使得备用户合理地共享计算机系统资源22是提供给操作人员一套控制命令用来控制程序的运行。
5.文件管理
计算机系统中的程序或数据都要存放在相应存储介质上。为了便于管理,操作系统招相关的信息集中在一起,称为文件。操作系统的文件管理功能就是负责这些文件的存储、检索、更新、保护和共享。

九、人与计算机的距离

计算机的灵魂是操作系统_数据_03

从图上看,最里层就是计算机硬件,与硬件最近的是操作系统,如果我们需要管理系统就直接使用操作系统即可,而如果我们要想进一步发挥计算机的效能,在计算机上办公或娱乐,我们可以使用Office、Wps办公,用QQ、微信、视频软件或游戏软件进行娱乐。这些软件我们都称为应用程序,在应用程序与操作系统之间还有一层叫语言处理程序。作为程序员,大致由此也可以分为几个层面,最外层就是应用程序开发者,然后是语言程序开发者,然后是操作系统开发者,最后是驱动程序开发者。

计算机的灵魂是操作系统_Windows_04

由操作系统而言,我们同样可以按由内到外分层进行结构说明。首先,操作系统的内核是操作系统中应用连接硬件设备的桥梁。内核仅仅是操作系统的一部分,是真正与硬件交互的那部分软件,与硬件交互包括读写硬盘、读写网盘、读写内存以及任何连接到系统中的硬件。

内核提供了一系列功能函数,由这些函数构成的集合称为系统调用,或者叫程序接口或应用编程接口(Application Programming Interface,API),名字不重要,重要的是这帮函数提供了强大的功能,因为这些函数可以管理硬件资源,并为开发人员提供良好的环境,使应用程序具有更好的兼容性。

Windows操作系统关机函数

BOOL ExitWindowsEx(
[in] UINT uFlags,
[in] DWORD dwReason
);

ExitWindowsEx就是Windows内核中的关机函数。我们通常点击Windows左下角的开始菜单 -电源-关机来实现计算机的关机,实际上是调用了这个内核级的API而已。

Shell,俗称壳,为了区别于Kernel内核。如此众多的内核函数,作为开发者或使用者,我们如何去调用它们?Shell就承担了这一功能。例如DOS下的COMMAND.COM和Windows的cmd.exe。Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

应用程序是什么?指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。它是一个独立的软件包,允许用户在移动或桌面设备上执行特定任务。应用程序通常是用不同的编程语言编写的。例如,Android 应用程序是用 Kotlin、Java和 C++ 编写的,而 iOS 应用程序是在 XCode IDE 下用 Swift 和 Objective-C 编写的。软件包编译代码、数据和资源文件以创建应用程序运行所必需的综合软件包,

我们通常意义上的软件开发,就是指这一类的应用程序开发。

计算机的灵魂是操作系统_应用程序_05

应用程序安装和运行中操作系统当中,离开了操作系统,它无法运行,啥也不是。那么,世界上有Unix、Linux、Windows、Andorid、ios等操作系统,他们当中的应用程序可以相同吗?很可惜,基本不能。这就好比一个人跑到另一个国家,因为语言不通,无法生活,除非你带个翻译。Java就可以跨平台而运行,其原因就是因为它在不同的操作系统里面都有“翻译官”——JVM。C#能不能跨平台?C#原先在Windows下面有一个翻译官叫.Net Framework,所以由C#开发的应用程序能运行在Windows操作系统,但是,出于竞争缘由——其它操作系统没有翻译官。后来Java在某一段时间内一骑绝尘,这时微软才反应过来,再这么封闭下去,C#就没有蛋糕啦,于是赶紧开发了.Net Core,又是开源又是跨平台,希望能够亡羊补牢。

C#在其它操作系统中有了.Net Core翻译官,这时才可以跨平台了,而在Windows操作系统中,C#就有了两个翻译官,分别是旧人.Net Framework和新人.Net Core,从此新人胜旧人,.Net Framework便不再开发了,转而开发.Net Core版本。

OK,不能跑题,因为要介绍C#的翻译官——CLR,必须得另开一章了。现在讲它们还为时过早,作为立志要成为一名优秀程序员的我们,先了解一下源代码的概念,毕竟,程序员的一生都要与它打交道。我们下一节来介绍什么是源代码。

——重庆教主 2023年12月4日

标签:计算机,Windows,应用程序,硬件,内核,灵魂,操作系统
From: https://blog.51cto.com/wpfsoft/9516754

相关文章

  • 《深入了解计算机系统》观后感
    第六章的链接,更是对程序文件进行了详细的解释,让我等学习编程的人懂了很多程序运行、编写时的知识,以前就不明白,也没有想过的东西,让我突然明白了,真是很开心!后面还有并发和网络编程等方面的知识,对于一些常犯的错误也进行了简单的概括,并且介绍了一些方法。尤其是这些方法,真是很重要,......
  • 《计算机体系结构》观后感
    《计算机体系结构》这本书为我们揭示了计算机系统的内部工作原理和构造方式。从其理论部分到实际应用,从硬件实现到软件交互,都为我们提供了全面的知识体系。作为一本计算机科学的经典之作,它不仅帮助我深入理解计算机的内部工作机制,更让我意识到在实际工作中,如何更好地运用这些知识,......
  • 《计算机体系结构》观后感
    观看完《计算机体系结构》,对于深入理解计算机系统的本质和运行机制具有重要意义。它不仅涵盖了计算机体系结构的基本概念和原理,而且深入探讨了计算机设计的各个方面,包括指令集设计、微体系结构设计、逻辑设计和实现等。读完这本书,我对计算机体系结构有了更为全面和深入的认识。......
  • 计算机字符编码
    目录基础知识ASCII码UnicodeUnicode的问题utf8GB2312是什么基础知识计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称为"编码";反之,将存储在计算机中的二进制......
  • 【计算机】字符编码的发展与关系
    【计算机】字符编码的发展与关系编码方案与字符集字符编码说到底就是一种将字符存储在计算机中的方式,如通常会将字符与一个二进制串对应,从而映射到字节流中。而表示字符与二进制串对应关系的表叫做字符集,而具体将对应的二进制串映射到字节流中的方法则叫编码方案。所以说编码方......
  • 操作系统命令注入
    什么是操作系统命令注入?OS命令注入也称为shell注入。它允许攻击者在运行应用程序的服务器上执行操作系统(OS)命令,并且通常会完全破坏应用程序及其数据。通常,攻击者可以利用操作系统命令注入漏洞来破坏托管基础结构的其他部分,并利用信任关系将攻击转移到组织内的其他系统。有用......
  • 计算机网络之网络协议和体系结构(一)
    1.网络协议的三要素什么是协议?为了保证通信正常进行,必须事先做一些规定,而且通信双方要正确执行这些规定,例如,使用哪种基带编码方式,差错编码和交换技术等。同时,只有双方在这些规定上达成一致,彼此才能能够互相“理解”,从而确保通信的正常进行。这种通信双方必须遵守的规则和约定成为协......
  • 《深入理解计算机系统(原书第3版)》PDF
    内容简介本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/......
  • 《深入理解计算机系统(原书第3版)》PDF
    内容简介本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统......
  • 算力操作系统的GPU、CPU与高速缓存网络
    在现在的AI时代,大规模计算能力已经是推动科技进步和社会发展的刚需,LAXCUS分布式操作系统作为新的重构后的算力体系的核心,在这里面起到承下启下的作用。其底层架构中的GPU、CPU以及高速缓存网络之间的关系显得尤为重要。本文将简单说说这三者之间的互动与影响,以揭示LAXCUS做为算力操......