操作系统的基本认识

操作系统的感性认识

操作系统 这个词可能或多或少听说过,比如windows , linux , macOS 。这些其实都是工程师们经过实践后的具象化 产物。而操作系统原理 这六个字就是操作系统的抽象化,更准确的说,操作系统原理 是很理论化的东西。举一个不是很恰当的例子,马哲中国特色社会主义,马哲就是一种比较抽象的理论,而中国特色社会主义是马哲实践后的产物。所以这里要给大家避个坑------如果要学操作系统相关的知识,千万不要盯着操作系统原理去学,一定要从一款具体的操作系统切入(比如Linux)。操作系统原理好比计算机里的哲学,真的很抽象。
计算机的硬件(键盘,CPU,显示器,磁盘,内存...)只是冷冰冰的硬件,而操作系统就是硬件的管理者和拥有者 。如果把操作系统比作一个,那么操作系统是一个非常精明,干练的人,他几乎不会做任何浪费生命的事情,他会非常爱护他所拥有的硬件,并且知道硬件的每一处细节,他可以把这些冰冷的硬件高效效的组织起来。
现在,你正在打游戏,游戏所对应的这款软件想向显示器刷新图片,那么这款游戏软件可以访问显示器吗???答案是不可以,操作系统是才是硬件的拥有者,所有的软件要访问硬件资源都必须经过操作系统的同意,而且只能由操作系统替游戏软件访问显示器。那么操作系统在整个计算机的位置如下图所示

所有要访问硬件的行为都需要贯穿操作系统。

操作系统的理性认识

应用层软件直接访问硬件不可以吗?这里我不想很绝对的回答不可以。硬件的协议和接口是很复杂的,不同的硬件之间又不一样,不同的硬件厂商有不同的标准。而操作系统可以看作一层抽象层,它把硬件的特性抽象出来,屏蔽底层复杂性,为上层提供统一的接口,极大的方便开发者的开发。

所以这里我们从操作系统的作用出发定义一下操作系统:操作系统是硬件的拥有着和管理者,所有访问硬件的行为必须贯穿操作系统,而操作系统对下要管理好硬件资源,对上要服务好用户(这指的是应用程序,开发人员等等)

什么样的操作系统是优秀的

安全

操作系统必须保证硬件资源的安全------不可以让上层应用程序随意的访问。如果上层程序可以随便的访问硬件资源,那么该计算机的数据也就可以被随意的窃取。

稳定

必须保证稳定性,才能更好的服务上层应用,谁也不想在关键的时候电脑死机了。

高效

性能是一款操作系统必须追求的东西,操作系统属于基建类软件,如果底层有严重的性能损失,那么应用层的代码写的在好也没用。

这里说的性能不仅是自身运行的消耗,还有对软硬件资源的管理是否高效。

认识Linux操作系统

Linux操作系统主要是面向开发人员的,大家大家常听说的可能是windows操作系统。

Linux操作系统从开源是的1万行代码,到现在的千万行代码,集结了全世界优秀开发人员的汗水与智慧。

不管从安全,稳定,还是性能,都属于第一梯队。

专栏说明

这里不介绍Linux的发展了,这是本专栏的第一篇文章,后续会持续更新操作系统原理以及linux内核。

这里说明本专栏的目的,本专栏是博主复习操作系统相关的只是而编写,参考《操作系统原理及Linux内核分析》由清华大学出版社 李芳 刘晓春 李东海编著

专栏说明:本专栏的文章凡事有关概述的原始内容都会用斜体字,凡是博主自己的观点,其文字不做特殊处理

相关推荐
Sapphire~2 小时前
Linux-07 ubuntu 的 chrome 启动不了
linux·chrome·ubuntu
伤不起bb2 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
广东数字化转型2 小时前
nginx怎么使用nginx-rtmp-module模块实现直播间功能
linux·运维·nginx
啵啵学习2 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
半桔3 小时前
【Linux手册】冯诺依曼体系结构
linux·缓存·职场和发展·系统架构
网硕互联的小客服3 小时前
如何利用Elastic Stack(ELK)进行安全日志分析
linux·服务器·网络·安全
冰橙子id4 小时前
linux——磁盘和文件系统管理
linux·运维·服务器
无聊的小坏坏5 小时前
环境变量深度解析:从配置到内核的全链路指南
linux·bash
才鲸嵌入式5 小时前
01 Ubuntu20.04下编译QEMU8.2.4,交叉编译32位ARM程序,运行ARM程序的方法
linux·c语言·单片机·嵌入式·arm·qemu·虚拟机
伤不起bb6 小时前
Kafka 消息队列
linux·运维·分布式·kafka