谈谈操作系统的学习-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

谈谈操作系统的学习

简介:

操作系统的学习,是为了更好的去了解计算机的启动过程,还有计算机是怎么工作的等等。自从本人读大学以来,我读的是电子信息工程技术,有学到一门课程叫做单片机。它的历史已经有好几十年了,主要是用在工业控制技术方面会比较多,因为开发这样的产品相对来说不需要耗费大量的CPU资源,性能也比较好,过了几十年后的今天,依然沿用着单片机的技术,这说明单片机对我们社会科技的发展依然是至关重要的。

      在大多数人看来,我们依然可以认为单片机也是一个操作系统,因为它可以控制其它的硬件,最终构成一个控制系统。在操作系统中,有控制总线,数据总线和地址总线,总线是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。同样在单片机中,也存在着这三个总线,这样才能识别外部引脚给予的硬件信号,硬件信号通过总线让CPU中的寄存器进行取址、译码、执行,将单片机工程师写的C语言程序通过编译生成汇编,最终汇编成为二进制代码,再由相应的内部芯片对这些二进制代码进行处理,翻译成对应的输入输出信号1和0,通常在这些设备中1表示高电平,0表示低电平,于是单片机就开始工作起来了。

      

那么对应我们使用的计算机,是不是也是这样的呢?

在现在看来,一个完整的操作系统需要具备这几样东西。

1、bootloader(也就是对应window的BIOS),BIOS是什么东西?从英文简写的意思可以看出,它的意思是基本输入输出系统。

2、内核:内核是操作系统的基本组成部分,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

3、文件系统:在计算机中,文件系统(file system)是命名文件及放置文件的逻辑存储和恢复的系统。DOS、Windows、OS/2、Macintosh和UNIX-based操作系统都有文件系统,在此系统中文件被放置在分等级的(树状)结构中的某一处。文件被放置进目录(Windows中的文件夹)或子目录,在树状结构中你希望的位置中。

4、图形界面:这个就不用说了,难道你还去用字符界面,恐怕叫一个初学者去从字符界面开始去学习计算机,那肯定是枯燥无味的,毕竟现在是21世纪2016年了,芯片集成度越来越高,当然显示桌面的UI也将越来越人性化。

当你启动你的window系统的时候,一般会停止在这样的一个界面10几秒钟,有得甚至一两分钟也有:


在这黑黝黝的界面中,你确实不知道它的背后在做什么。

但是作为linux的开发者,你会知道它背后大概在干什么东西,因为一开机你就知道了:

以下是红帽5.5的开机:


它开机之后会做一些基本的初始化程序,比如启动一些服务,也会关闭一些服务等等,最终系统就跑到了执行运行级别的操作,在linux系统中有多个级别,你可以设置启动就进入字符界面,也可以设置图形界面,甚至你想恶搞一下别人你还可以设置开机不断重启,哈哈哈哈哈,这种活以前刚学linux的时候喜欢ssh进别人的系统,改掉运行脚本,接下来就会有很多惊奇搞笑的事情发生,这些在往后的博文中会有说明。大笑大笑玩玩就好!!后果自负!!大笑

所以pc机操作系统和所谓的单片机还是有一定区别的,像51单片机开发的那种就类似于ARM嵌入式的裸板开发,也就是不带内核,文件系统的,分分钟直接和寄存器打交道。但是对于系统级别的开发,比如现在的嵌入式系统的开发最流行的就有安卓,安卓的底层其实就是linux内核,写好对应的驱动程序之后,向上层提供接口,上层对底层接口进行调用之后就可以间接的操控硬件了,这类的知识还有很多很多,博主也正在不断学习充实中!

关于计算机的启动的详细过程,在往后的博文都会涉及,欢迎继续关注Bruce.yang的嵌入式之旅。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章