我有了一台电脑,有好多的硬件,CPU啊、内存啊、光驱啊、硬盘啊等等,我不想装windows,我想装linux,我就装了一个linux。事实上,可以跑,没问题,我在思考,why?

我装的linux,包括很多的东西,有最基本的内核,内核提供的工具软件,还有各式各样的软件啦。

内核,很强大的也是很本质的东西。我相信,一个内核是用来操作硬件的,因此,它要能操作硬件,一定是将该硬件的驱动程序包含进来了。是的,只有硬件自己的驱动程序知道该如何操作它,初次之外没人知道。你说内核能不知道吗?哪一天,出现了一个新的硬件,已有的内核没有它的驱动程序,那么,亲爱的开发者们就要修改内核,并且发布新版本的内核。此时,厂商会重新加入软件啊什么的,做出一个新版本的发布版,让用户下载,easy!

哎呀,还有好多的软件呢。这些软件大部分都会调用内核提供的系统调用吧,也就是说,软件才不会直接去操作硬件呢,调用内核提供的功能区操作硬件去。这个系统调用被软件调用是要遵守POXIS规范的。大家都遵守这个,那么不同的类linux软件就可以互相移植啦。不过,直接调用系统调用,性能太低他妈低了,所以呢,内核,或者是发行版是否要做一套函数库?其实,我觉得吧,这些歌函数库最终也是要调用内核提供的系统调用,不过也可能这些函数库牛逼,可以直接操作硬件也说不定。

我的电脑上已经装了一个linux的发行版,最忌官网上又有了内核的最新版,我下载一个源码下来吧,我自己编译安装,哇靠,这样的话,我下次开机的话,就会让我选,是启动原先那个呢,还是启动这个我自己安装的呢,真纠结啊~~~

windows的核心操作硬件,肯定是调用这些硬件的windows版;linux则会调用这些硬件的linux版的驱动程序,哇靠,真是分的很清楚啊~~

待续。。。。

最新文章

  1. 数据库_MYSQL
  2. [UIScreen mainScreen].bounds.size.width 和self.view.frame.size.width的区别
  3. Python之路,day8-Python基础
  4. py代码模糊工具
  5. win7 快捷键
  6. [游戏模版10] Win32 平面地图贴图 正
  7. 五分钟,运用cocoaui库,搭建主流iOS app中我的界面
  8. ubuntu硬盘安装卡在探测文件系统
  9. oracle中不曾熟悉的 to_char、to_number(未完待续)
  10. 高级UIKit-10(UDPSocket)
  11. [C++]C++中的运行时类型检测
  12. flutter Dialog里ListView的问题
  13. zookeeper核心-zab协议-《每日五分钟搞定大数据》
  14. Zookeeper-基本概念
  15. Peer Programming Project: 4 Elevators Scheduler 学号后三位 157,165
  16. mysql系列四、mySQL四舍五入函数用法总结
  17. leetcode56:合并区间
  18. Chrome导出书签瘦身,去除ADD_DATE和ICON
  19. python-day34--进程补充
  20. hdu 2818 Building Block(并查集,有点点复杂)

热门文章

  1. 关于SetLength报Out of memory的研究及解决办法
  2. 图像滤镜艺术---Swirl滤镜
  3. java设计模式(2)
  4. golang生成c-shared so供c语言或者golang调用到例子
  5. VS下对Resx资源文件的操作
  6. 给 Qt sqlite 增加加密功能
  7. CSocket实现端口扫描
  8. vue history 模式打包部署在域名的二级目录的配置指南
  9. Node.js实现PC端类微信聊天软件(五)
  10. java基础类型源码解析之HashMap