学完linux课程的感悟,谈谈前天面试后的感受吧,关于学习Linux

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

建议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系统的设计。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值