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

开发者社区> morixinguan> 正文

谈谈操作系统的学习

简介:
+关注继续查看

操作系统的学习,是为了更好的去了解计算机的启动过程,还有计算机是怎么工作的等等。自从本人读大学以来,我读的是电子信息工程技术,有学到一门课程叫做单片机。它的历史已经有好几十年了,主要是用在工业控制技术方面会比较多,因为开发这样的产品相对来说不需要耗费大量的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的嵌入式之旅。

 

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

相关文章
09.阿里云服务器(Ubantu系统)配置ndk 编译ffmpeg
(创建于2018/1/4) ffmpeg完整的编译过程 1.ls 显示所有目录文件 2.mkdir root 创建文件夹root //将Android文件夹下的所有强制删除 rm -rf android 3.
886 0
如何选择阿里云服务器操作系统?阿里云操作系统说明指南
阿里云云服务器ECS的操作系统有什么区别,阿里云linux服务器和windows服务器有何不同呢?
120 0
译: 进化的系统需要进化的系统工程
> By James TurnbullInes Sombra March 20, 2018 > https://www.oreilly.com/ideas/the-evolution-of-systems-requires-an-evolution-of-systems-engineers 在过去的几周,我们一直在反馈从我们第一次站在职场时就在变化的工业技术。我们在寻找在两个不同的但是重叠
1171 0
使用Ext.grid.column.Action操作表格数据
6.8.10 使用Ext.grid.column.Action操作表格数据 2013-02-28 12:31 李刚 电子工业出版社 字号:T | T 综合评级: 想读(1)  在读(0)  已读(0)   ...
745 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12035 0
浅谈大型web系统架构
动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。
1112 0
探讨一下如何打造稳定的报名系统之考务管理报名系统开发设计浅谈
首先,标题已注明是浅谈,也就不会太高深,适合各种技术类、非技术类人员参阅。由于才疏学浅,可能存在不到之处,还请大神指正,勿喷、谅解。
145 0
C++ 取得系统当前时间
#include //* 方法一 time_t tt = time(NULL);//这句返回的只是一个时间cuo tm* t= localtime(&tt); printf("%d-%02d-%02d %02d:%02d:%02d\n",   t->tm_year + 1900,  t->...
648 0
+关注
morixinguan
ITGEGE在线教育嵌入式开发讲师。 CSDN博客专家、CSDN-Linux特邀编辑、CSDN博乐、CSDN学院讲师,目前从事嵌入式开发领域,从事与单片机,Linux,android相关的产品开发。
499
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载