操作系统作用是什么?操作系统简介
1 操作系统简介
在如今的世界里,绝大多数人都会对Windows,Linux及MacOS等操作系统有一定的使用经验,但是很多时候对操作系统本身并没有太多感知。毕竟与用户直接打交道的大多数是各种炫酷的客户端软件,包含精美的字体、图标和图片等。
虽然一般来说这样漂亮的用户界面通常不属于操作系统,但可看作它是操作系统的一部分,通过操作系统来完成其底层复杂的与硬件层面的交互工作。
现今的计算机是一个极其复杂的系统,一般由一个或多个处理器,以及一些主内存、磁盘、网络接口、各种外设以及各种其他输入/输出设备组成。如果每个程序员都必须详细了解所有这些硬件层面的原理和机制,然后才能编写相应的代码,那么可想而知这样的效率会有多低。
此外,管理所有这些组件并优化使用它们是一件非常困难的工作。因此,计算机配备了一层称为操作系统的软件,其作用是为用户程序提供简洁方便的计算机模型,并统一管理所需要的资源。
在这里,我们看到计算机最底部是各种硬件,包括芯片,主板,磁盘,键盘,显示器等。在硬件之上则是软件。大多数计算机都有两种操作模式:内核模式和用户模式。
内核模式Kernel Mode:
在内核模式下,程序具有硬件的所有控制权限,可以执行所有CPU指令,可以访问任意地址的内存。在内核模式下的任何异常都是灾难性的,将会导致整台机器停机。
用户模式User Mode:
在用户模式下,程序没有对硬件的直接控制权限,也不能直接访问地址的内存。程序是通过调用系统接口API来访问硬件和内存。在这种保护模式下,即使程序发送崩溃也是可以恢复的。
操作系统可以看作是最基本的软件,它运行在内核模式(也称为管理程序模式)下。在这种模式下,它可以完全访问所有硬件,并且可以执行机器可以执行的任何指令。
而在用户模式下运行的一般都为直接面向用户的应用软件,在该模式下只能使用一部分机器指令。特别是,那些影响机器控制或「I/O输入输出」的指令在用户模式程序中是禁止的。
2 操作系统作用
看起来操作系统好像就是横跨在用户应用软件和底层硬件之间的桥梁,通过运行在内核模式进行硬件的控制和调度。事实上,操作系统的作用可大致分为两大方面。
作为计算机硬件的抽象层
大多数计算机在机器语言级别上的体系结构是极其原始的,主要说的是指令集,内存组织,I/O处理和总线结构。在这样的结构下是没办法进行自定义编程的,特别是对于I/O操作而言。因而,没有理智的程序员愿意在硬件级别处理磁盘和内存。
为了解决这样尴尬的局面,从而产生了一个称为磁盘驱动程序的软件。它用来处理硬件并提供一个接口来读取和写入磁盘块,而使得我们无需关注其细节。这本身就是操作系统最初具有的功能之一,包含许多用于控制I/O设备的驱动程序。
但是对于大多数应用程序来说,光有驱动程序是不够的。因此,所有操作系统都为使用磁盘提供了另一层抽象而又便于理解的概念:文件。程序可以创建,写入和读取文件,而不需要处理硬件层面中复杂的工作原理和实现细节。
这种所谓对硬件层面的抽象是管理所有这些复杂底层硬件的关键。一个好的抽象系统将几乎不可能完成的任务变成可以进行管理的任务。所以事实上操作系统所干的事,首先是定义和实现抽象。然而是使用这些抽象来解决上层用户的问题。
「文件」是几乎每个计算机用户都可以理解的一种抽象。一个文本,一个照片,一封保存的电子邮件,一首周杰伦的歌或一个网页,这些都可看作是抽象出来的文件。正是通过操作系统的抽象作用,使得我们可以在处理文本、照片、邮件的时候只需要点击几下,而不需要去考虑在SATA磁盘中数据的存放格式发生了如何变化。
显而易见的是,操作系统的主要任务之一是隐藏硬件,并以简单且好看的抽象形式呈现程序,以方便用户的使用。这也是Windows系统持续几十年的市场占额的原因所在,相较于其它的系统,Windows以更接近用户体验的抽象方式从而赢得了市场。
作为计算机的资源管理器
上面的作用简单来说就是操作系统为用户层面的应用程序提供了一种硬件的抽象,是自顶向下的作用。除此之外,操作系统还可以作为自底向上的中间人对应用程序所需要的资源进行管理和分发。在自下而上的流程中,操作系统的工作是在需要处理器、内存和I/O设备的各种程序之间提供有序且受控的分配。
打个比方,我们知道操作系统允许多个程序同时运行并占用内存。想象一下,如果在一台计算机上运行的三个程序都试图在同一台打印机上同时打印输出,将会发生什么。三个程序调用打印机打印可看作是对资源对请求,如果没有操作系统对资源请求的管理和分配,那么整个计算机的输出结果将会是完全混乱的。
图5 多个程序同时调用打印机的错误输出
打印机这个例子还只是最简单直接的资源请求和分配问题,而其它比如网络资源、内存资源的请求冲突问题的影响就更大了。如果处理不好资源请求之间的问题,不同应用程序之间则会发生严重的串扰,以致出现各种无法调试的错误。
操作系统主要是以时间和空间这两种方式进行复用或共享资源。对资源进行时分复用时,不同的程序或用户轮流使用它。他们中的第一个开始使用资源,然后再使用另一个,依此类推。
这实际上就是所谓时间片的概念,在时间的纬度上为每个程序分配一段资源占用的机会。还是共享打印机的例子,当有多个程序都想用打印机的时候,就按照时间发送的顺序在打印机上线性排序,一个一个来。
另一种是空间多路复用。最主要的区别在于不是每个程序轮流使用,而是每个程序都获得了一部分资源。
例如,通常将主存储器划分为几个可同时使用的区域,每个程序可以同时占用。假设有足够的内存来容纳多个程序,那么相较于所有内存分配个一个程序而言,一次将多个子内存分配给多个程序就更有效。
当然,这会引起公平性以及安全性等问题,这也是操作系统需要解决的问题之一。进行空间多路复用的另一个资源是磁盘。
在绝大数系统中,单个磁盘可以同时容纳来自多个程序或用户的文件。而操作系统在这其中的作用就是根据用户或程序来确定其对应的一块磁盘区域,从而保证程序正常的运行。
总结
操作系统复杂性绝不是几篇文章可以介绍的完的,但是这些理论上的思想正是操作系统架构形成的基础。了解操作系统能够让我们真正走进程序代码执行的内部,从高级语言出发进而理解硬件层面的执行,从而能够真正从平台及系统层面优化我们代码的性能。
相关推荐:
最新新闻:
- 操作系统作用是什么?操作系统简介
- 鲨鱼加速器怎么样?鲨鱼加速器软件功能及安装方法
- 稳压电路是指什么?稳压电路分类介绍及稳压电路原理
- UZER.ME是什么软件?UZER.ME 作用介绍
- 移动硬盘无法访问怎么办?常见移动硬盘无法访问的原因及解决方法
- 电脑时间改不了怎么办?电脑时间不走了什么原因?
- word怎么看字数?查看word字数的方法
- 磁盘碎片是什么意思?机械硬盘的磁盘碎片怎么整理?
- 忘记TrueCrypt密码怎么办?TrueCrypt加密与解密原理
- 键盘打不出字是哪里锁住了?键盘打不了字怎么恢复?
- 出现0xc000000f错误代码怎么解决?出现0xc000000f错误代码解决方法步骤
- 曝小李子已和超模女友分手 两人已不再约会
- 世界要闻:初代iPhone拍出6.3万美元天价:16年增值100倍
- 《原子之心》各平台表现对比:PC平台优化无敌!|全球报道
- 寄生虫跑进阑尾致女孩腹痛半年,养宠物、喜生食当心“虫从口入”|当前播报
- 环球要闻:买一部iPhone手机要花多少年薪 中美差距超6倍
- 三大环节实操干货、五大前瞻趋势点,2023年流量营销避坑指南-全球微动态
- 体验一加11概念版:行业天花板 天天快播
- Zigbang直帮以智能家居打开中东市场
- 世界热资讯!一加11概念机外观官宣:后盖发光灯带抢眼、或采用潜望镜头
- 英伟达为游戏玩家做了哪些贡献?这4项技术还真少不了:热推荐
- 《魔咒之地》原案编剧:最终剧情和初始方案完全不同
- 环球快报:PS+二/三档新增游戏正式上线:《西之绝境》领衔
- 全球时讯:《霍格沃茨之遗》英国实体销量下降66%:但仍是第一!
- 《层层恐惧》重制新作改名:移除“s”回归初心 世界热闻
- 今日看点:《街霸6》领衔 Capcom Pro Tour2023奖池达200万美元
- 全体股东派现金!格力将发56亿现金分红-简讯
- 环球滚动:国产显卡游戏性能大提升!摩尔线程新的显卡驱动程序将支持42个游戏
- 智能硬件再出奇招 异地恋接吻神器登上热搜|每日消息
- 未拆封初代iPhone拍出6.3万美元 看看你家有没有-世界即时
- 今日精选:格力宣布将发56亿现金分红 10股派10元
- 爱奇艺修改会员投屏限制后 优腾暂时沉默尚未跟进
- 任天堂Switch系统更新16.0.0现已上线!系统更加稳定_环球观天下
- 《最后生还者》9岁小演员幕后照:表演十分卖力-全球微头条
- Glossier 在实体店回归中开设大型 SoHo 旗舰店-全球观热点
- 玩家自称参与开发有版权 《工人与资源》Steam下架 世界播资讯
- 探访游戏开发过程 RGG工作室纪录片第一弹《重生之龙》
- Steam《霍格沃茨之遗》最受欢迎国家 美国总销量占3成
- 从光盘启动方法是什么?光盘读不出来是什么原因?
- 提示找到新的硬件向导怎么办?提示找到新的硬件向导具体解决方法教程
- win7系统收藏夹在什么位置?收藏夹文件路径打开方法分享
- IE无法打开Internet站点?IE无法打开Internet站点解决方法
- 电脑wlan密码怎么找?电脑上怎么查看自家wifi密码?
- window7主题包是什么?Win10系统如何提取主题桌面壁纸?
- 弹出U盘提示现在无法停止通用卷怎么解决?解决方法
- 多玩魔盒和大脚现在哪个好用?怎么卸载多玩魔盒?多玩魔盒介绍
- 游戏登录服务器连接失败是什么原因造成的?登录服务器连接失败解决办法是什么?
- 电脑打开网页出现死机是什么情况?电脑打开网页出现死机解决方法步骤
- nba2k13怎么空接扣篮?nba2k13键位设置
- 怎么解决安装英伟达显卡提示GeForce Experience遇到错误?
- 如何开启Guest账户?介绍开启Guest账户的方法
- 电信宽带客服电话多少?电信宽带怎么办理?
- 无线局域网怎样进行数据传输?无线通信原理是什么?
- 小米参展MWC 2023:小米13 Ultra要来了
- 视点!一加11概念机官宣:MWC亮相真机
- cdr标点避头尾_cdr标点符号避头尾:全球时讯
- 《原子之心》小彩蛋:播不完苏联动画片和《贪吃蛇》
- 每日视点!《森林之子》多人游戏实机演示:抄起武器围攻食人族
- 环球头条:《玛莉的炼金工房:重制版》中文预告 7月13日发售
- 海清自曝与疾病作斗争 韧带撕裂严重到无法入睡 环球微资讯
- 当前滚动:《森林之子》多人演示 最多支持8人联机
- 《莱莎的炼金工房3》新中文预告 豪华版与特典介绍
- 全球看点:宫本茂向媒体确认任天堂随时为马里奥游戏做准备
- PSVR2官方试玩演示引小姐姐不断大叫
- 自制电影票电子模板_电影电子票
- 讯息:违法发射规则 SpaceX遭罚款
- 世界速讯:小米Redmi Book Pro15增强版笔记本开售:首发便宜1200元
- 小米再发59元卫浴新品:防烫把手设计,拨钮操控
- 【全球报资讯】1.8折爆款冲牙器原价299元 BUG价54元
- 《俄罗斯方块》预告片惊悚
- 世界观热点:《原子之心》支持Steam Deck 但需要设置
- Roguelike新作《Ravenswatch》4/6登陆抢先体验_天天最新
- Xbox Series X|S瑞典涨价 此前已在日本涨价
- “提前还贷”别跟风!搞懂这几个法律问题再决定……
- 一加Ace 2天玑版曝光:下月发布 16GB大内存:天天最新