该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

建议LZ认真地学习一下unix的启动过程中的 init 进程

多年来常常有人问我应该如何去学习并掌握 unix 系统。他们在实际学习的过程中,或多或少都碰到了一些困难。典型的感觉是unix虽然简洁优雅,但组合起来却千变万化,经常会觉得无从下手。

对这个问题,我给他们的回答几乎都一样:在初步掌握了操作系统理论的基础上,系统地学习并掌握 unix 系统的启动中的 init 进程。

1、掌握初步的操作系统理论

因为操作系统在计算机系统中兼管着人与计算机的交互接口,是计算机系统中最容易被人接触和感知的部分,因此很多人认为只要掌握了操作系统,更具体地说只要掌握了操作系统中关于人机交互接口部分就等于掌握了计算机技术。之所以会出现这样的误解,是因为他们中很多人都没有系统学习过操作系统理论,自然也就不清楚一个完整的操作系统到底需要包含哪些内容。

所以,试图去掌握一种具体的操作系统,首先需要拥有初步的操作系统理论知识,知道一个操作系统需要包含哪些方面的内容,如何确定操作系统的设计目标等等。

比方说,吧有很多人都参与过关于 MacOS 和 linux 之间的优劣之争,挺 MacOS 者认为其用户响应快,图形界面流畅。挺 linux 者认为其网络性能优越,后台运行效率高。最终争来争去也没争出的所以然来。这种争论的本质就是对操作系统的设计目标没有全局上的认识造成的。

实际上 MacOS 和 linux 的设计目标完全不同。

MacOS 主要考虑的是用户体验,主要指标是图形界面响应速度,说白了就是通过调度策略尽量为前台程序优先分配CPU时间,尽量保证前台程序在总体上消费更多的CPU时间。同时通过中断响应策略,尽量优先处理输入设备如键盘,鼠标,触摸屏的中断。这样一来,用户体验自然就好,但代价是运行在后台的程序非常缓慢,所以在 MacOS 上运行后台服务的效率是很低的,也是有一部分用户觉得 MacOS 下有些软件的运行效率还没有 windows 下来得高的原因。

linux 主要考虑的是计算效率,主要指标是计算速度和网络服务效率,说白了就是尽量公平地分配CPU时间,让运行在其上的每个程序都尽量地快速完成。由于 linux 并不刻意为前台程序优先分配CPU时间,因此用户的交互行为不会过多地影响系统的运行效率。比方说用户用鼠标拖着窗口满屏幕快速移动,此时 linux 图形界面响应会可能跟不上,但后台程序不受任何影响。这样设计带来的好处使得 linux 更适合用来做计算和网络服务。如果换了 MacOS 来做计算的话,只要用户在前台瞎折腾,后台用于计算的进程运行就会时快时慢,对于时间长达数天乃之数周之久的大型运算课题,谁也不能忍受同样的计算,有时几天就算完,有时却要十几天才算得完。再加上 X 的特有的网络透明性还可以将负责图形界面操作的窗口管理器运行在独立的主机上,把它和专门用于计算的主机隔离开来,这样专机专用,计算效率就会更高。所以这也是 unix 类操作系统如 linux 经常成为集群计算的首选操作系统的原因。

正因为设计目标的不同,即使将这两种操作系统都安装在相同硬件配置的计算机上,它们的用户体验和系统性能也是截然不同的。所以它们两者并没有什么可比性。关键是如何根据实际需要去选择。至于“果喷”和“果黑”这两种彼此攻击的极端偏执狂的言论就不用去考虑了。

所以,想掌握操作系统,首先需要初步掌握一些操作系统的理论知识,这样学习具体的操作系统时才会目标明确,脉络清楚。

2、学习并掌握 unix 系统的启动过程中的 init 进程

不同设计目的的操作系统,其具体内容往往有比较大的差别。因此具体的学习方法也是多种多样。有的人从操作入手,通过熟悉大量桌面应用软件和初步的脚本编写,通过定制应用环境来熟悉操作系统。有的人从编程入手,试图通过熟悉系统调用和函数库的组成来摸索。有的人从系统配置入手,试图通过搭建一个可投入实用的服务器来掌握。也有人下载了开源操作系统如 linux 的内核源码,希望通过自行编译内核来了解unix系统的组成。还有的人则试图阅读 unix 内核源码,力图从根本上了解unix系统的设计。

就linux学习的一点感受,谈谈前天面试后的感受吧,关于学习Linux相关推荐

  1. 看完这些面试必问的Linux小知识,我保证你面试后会来给我的文章一键三连

    作为一名以后想从事嵌入式Linux工程师的大学生,那么Linux肯定是得学习的.如果要从事C++后台或者服务器运维相关的工作那么Linux肯定也是一个必备的工具啦!既然作为工作中需要接触的工具那么在面 ...

  2. 谈谈女友卸妆后的感受?

     1   2  医生和她的实习助手  3  那个,打针的话能不能轻点呀  4  ok,学会了 图自@青鲤  5  有点甜~  6  一个人可以无聊到什么程度?  7  所谓的前翻乾坤无敌轮回抓鱼大法. ...

  3. 计算机考试感受作文,考试后的感受作文(通用10篇)

    考试后的感受作文(通用10篇) 无论在学习.工作或是生活中,大家都接触过作文吧,作文是通过文字来表达一个主题意义的记叙方法.为了让您在写作文时更加简单方便,以下是小编收集整理的考试后的感受作文(通用1 ...

  4. 就linux学习的一点感受,学习linux的体会

    学linux的驱动设计 一:首先先装个虚拟机吧,我觉得这个比较好,有些人建议直接装在硬盘上(我想他们是觉得有点环境压力吧),可我觉得对于没有linux基础的还是先装虚拟机比较好. 二:记住一些常用的命 ...

  5. 高通运行linux,高通、mtk及Linux平台的一点个人感受

    高通.mtk及Linux平台的一点个人感受 xzq8183 Post at 2010/5/4 14:33:19 做驱动很多年了,期间做过MTK,高通,linux智能手机平台.说说个人的感受. mtk: ...

  6. 26.5th C/Linux短期班 一点分享与感受+部分爆照

    王道:赠人玫瑰,手留余香. 我是19考研学生,在备考期间复习408的用书就是王道全家桶.不得不说,王道书的序言和训练营的介绍,很好的打了一波硬广告,哈哈哈. 我参加的是c/linux元旦短期班,听说是 ...

  7. 学习金字塔——谈谈对学习的一点理解

    学习金字塔是美国缅因州的国家训练实验室研究成果,它用数字形式形象显示了:采用不同的学习方式,学习者在两周以后还能记住内容(平均学习保持率)的多少. 根据知识留存率以及学习形式,将学习分为了主动学习和被 ...

  8. 力作推荐!!!!   防线:企业Linux安全运维理念和实战(向世界500强企业学习Linux安全管理与运维之道)...

    防线:企业Linux安全运维理念和实战(向世界500强企业学习Linux安全管理与运维之道)      新书发售 http://product.dangdang.com/product.aspx?pr ...

  9. 关于在大学中如何学习的一点感悟

    一直以来中国教育以"填鸭"式的教学风格而闻名,最近在看了几本英文翻译过来的书后特别有感触. 甭管学生想不想学,学了能不能消化,学了会不会用,只是一味的教授知识. 上了(6+3+3+ ...

最新文章

  1. Facebook 开源高质量实例分割数据集 LVIS
  2. pyhon 数据类型转换函数
  3. 深入浅出详细介绍Java异常,让你茅塞顿开般的感觉
  4. Bootstrap中DropDown插件显示下拉列表,点击下拉列表区域,不会再自动关闭。
  5. 对象调用corePlot使用技巧及iOS内存优化之道
  6. uva 10474 - Where is the Marble?
  7. vivo nex免Root使用空调狗
  8. linux c语言math lm pow,C语言pow()函数实现求x的y次方的值
  9. Git 配合G码云使用基本操作相关指令
  10. Tomcat配置指定JDK
  11. 【21CN】“电商+互动直播”聚美优品携手腾讯云开启颜值经济
  12. android 开源fc模拟器_安卓FC模拟器NESemu
  13. 编写MTK6737平台的GPIO驱动例程(六)
  14. 生成彩色二维码(渐变色、插入图片和文字)
  15. android隐私违规获取问题处理 及 Hook拦截处理记录 (VirtualXposted/epic等)及 android/iOS 多bundle加载方式修复方案
  16. 树莓派4B之火焰传感器模块(python3)
  17. 【网络】PFC背景和原理 (DCB=PFC + ETS)
  18. OOP和POP的区别
  19. DS二叉树--层次遍历
  20. 一些检索英文文献的网址(收藏)

热门文章

  1. B站爱情怀,投资者只看利益
  2. php 自动测试,PHP自动化测试
  3. java 字符串去掉换行_java第一个程序quot;helloworldquot;
  4. Linux配置Java,kafka,Hadoop等环境变量
  5. CTF-杂项16进制字符串类型的题目
  6. Python常用模块之configparser模块
  7. python基础教程:list转换range()的打印结果
  8. python实用小方法
  9. Python 中函数的 收集参数 机制
  10. Python 3.x 引入了函数注释