操作系统究竟是什么?在计算机体系中扮演什么角色?

简介: 操作系统究竟是什么?在计算机体系中扮演什么角色?

一、操作系统概念

下面是来自百度百科对操作系统的概念:

 操作系统(英语:Operating System,缩写:OS)是一种内置的程序,用来协作计算机的各种硬件,以与用户进行交互。常见有Windows,macOS 和开源的 Linux。

 根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。

 操作系统是人与计算机之间的接口,也是计算机的灵魂。

 emmm… 非常抽象

 通俗来讲,操作系统是一款进行软硬件资源管理的软件。操作系统通过将软硬件资源管理好(手段),从而给用户提供一个良好(稳定、高效、安全)易用的使用环境(目的)。

 emmm…那操作系统是如何管理软硬件资源?如何给操作用户提供一个良好易用的使 用环境?

 下面是计算机软硬件架构图,下面博主基于此图分析上述两个问题,以及图中每个部分的意义!

二、操作系统如何管理软硬件资源

 在整个计算机软硬件架构中,操作系统被定义为一款纯正的搞“管理”的软件!

2.1 何为管理者

 生活中,所有的事情宏观上大致可分为两大类:做决策、做执行。而对于管理者来说,基本以做决策为主。但管理者如何做决策,作出正确决策?

 现在假设校长要管理学生,比如让张三退学。但校长没有和张三见过面,凭什么让张三退学?原来校长通过辅导员拿到了全校所有学生的各科成绩信息。校长拿到了完善的数据,发现张三挂科严重,才作出让张三退学的决定。所以管理的本质不是管人,而是管理数据!

 但现在学生人数过多,校长管理学生需要得到更多相关信息(诸如:姓名、入学年份、紧急联系人等等)。其中一种解决办法就是将所有学生的相关信息写入一张excel表格中,从而实现结构化管理。但如果人数过多,这样管理起来还是很麻烦,那怎么办?

 我们可以通过编程中面向对象的知识,通过一个结构体将所有的信息封装起来,比如:

struct Student
{
  char name[4];//学生名字
  int age;
  string numbers;//电话号码
  // .....
}

我们可以将所有学生的信息都转化为一个结构体对象,然后通过链表的形式链接起来。

这就是对学生管理的一个建模过程,最终将管理学生转化成对链表的增删查改!!

 管理可总结为“先描述,在组织”。即被管理的对象以什么样的结构体形式来描述,然后将结构体设定具体对象,通过特定的数据结构组织起来。

2.2 操作系统如何管理硬件

 我们已经知道管理的本质是管理数据,所以操作系统要管理底层硬件,首先得到相应硬件的数据信息(比如磁盘已使用空间、数据存放区域、是否正常等的)。但操作系统和硬件没有直接接触,所以中间存在驱动程序。驱动程序将硬件的相关信息传递给操作系统。同时由于各种信息庞杂,为例更好管理,操作系统需要将相关信息通过结构体方式(操作系统主要是C写的)进行描述,在通过特定的数据结构组织起来。从而将对硬件的管理转化成这些数据结构的管理。

 当操作系统作出某种决策时,操作系统将信息传递给驱动程序,通过驱动程序来完成操作系统对硬件的控制。

三、系统调用接口作用

 在所有的计算机体系中,都不允许用户直接对操作系统进行操作。原因在于操作系统不相信用户。就像银行系统一样,银行为什么要柜台和玻璃,为什么不让用户自己取钱后自己修改以下数据。原因在于银行不相信我们,但又必须要为我们提供相关服务,所以安装了玻璃,并在玻璃上开了一个洞。同样用户中存在坏人,所以操作系统不允许用户直接操作控制它。但操作系统要为我们提供相应的服务(比如向磁盘中写数据),所以提供了system call(系统调用接口)。所以的用户请求只能通过系统调用借口传给操作系统!!

四、用户操作接口

 系统调用使用起来比较麻烦,所以对于站在系统上的人提供了一些外壳程序(Linux中为shell外壳,windows为图形化界面),而这写外壳程序大多是由C/C++写的,其中必然存在系统调用借口。

 系统调用在使用上,功能比较基础,对用户的要求相对也比较高。所以,大佬们对部分系统调用进行适度封装,从而形成库。有了库,就很有利于更上层用户或者开发者进行二次开发。

五·、广义操作系统和狭义操作系统


相关文章
|
2月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
6月前
|
存储 Unix Linux
手写操作系统(4)——计算机是如何启动的?BIOS、GRUB、文件系统......
手写操作系统(4)——计算机是如何启动的?BIOS、GRUB、文件系统......
116 1
|
3月前
|
存储 算法 网络协议
了解操作系统的基本原理和常见操作,提高计算机使用效率
了解操作系统的基本原理和常见操作,提高计算机使用效率
48 4
|
4月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
5月前
|
运维 安全 Linux
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
|
6月前
|
存储 算法 Linux
【计算机操作系统】深入探究CPU,PCB和进程工作原理
【计算机操作系统】深入探究CPU,PCB和进程工作原理
187 1
|
6月前
|
存储 安全 数据处理
【计算机系统组成原理】操作系统处理器深入介绍
【计算机系统组成原理】操作系统处理器深入介绍
|
6月前
|
存储 缓存 安全
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
|
6月前
|
存储 安全 Unix
计算机的操作系统
计算机的操作系统
44 2
|
6月前
|
存储 Ubuntu Unix
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
84 0

热门文章

最新文章