1.程序员为什么需要了解操作系统

        对于程序员来说,程序在运行的环境中会有一个“无形的手”在无时无刻不影响着程序的运行,也许你对此浑然不知,这个“无形的手”就是操作系统。

        操作系统从本质上讲也是一个普通的程序,和我们平时写的程序没什么本质上的不同,它的特殊之处主要体现在用途上。

        操作系统的用途不是用来浏览网页,玩游戏,播放音乐,聊天的,这些都是特定的应用程序来完成的,比如浏览器,视频播放器,音乐播放器等,这些程序都有特定的用途并为计算机用户带来丰富多彩的体验,那么操作系统又是一个什么样的程序呢?

        操作系统其实是一个控制这些程序运行的程序,操作系统为程序员编写的程序提供了一个良好的运行环境,使得多种多样的程序在资源有限的情况下(CPU数量有限,内存容量有限)也可以畅通无阻的运行下去,同时操作系统会在我们的程序存在严重的bug时,将毫不留情的将程序终止掉,防止其影响其它程序的正常运行。

        一般情况下程序员都无需去关注操作系统,既然操作系统在背后默默无闻工作的很好,那么我们为什么要费心去理解操作系统呢?

        其实对于程序员来说,都应该清楚的知道自己的程序是如何同操作系统交互的。如果程序员不能很好的理解操作系统,那么对于自己写的程序始终存在所谓“神秘的未知的恐惧”。当我们写完一段程序之后,只能在祈祷其不要出现问题,但实际情况往往事与愿违。这时的bug修复对你来说非常困难,为什么呢,因为你根本不知道到底是哪里出现了问题,也不知道为什么会出现这样的问题。

        如果程序员不能很好的了解操作系统,那么一个大型的软件项目对于你来说很可能是一个看得见摸不到的庞然大物。你根本不清楚这个软件到底是如何运行起来的,在这样的软件项目中工作,只能起到自己的工作模块不要出现问题,遇到问题后只能不断的去问别人,为这个软件开发新的功能对你来说也是一个极大的挑战。

        在工作中我们认为的编程高手,总是能解决各种在我们看来极难解决的问题。这些编程高手所拥有的这种能力称之为独立探索的能力。作为程序员,尤其是想称为高手的程序员,我们应该拥有所谓的独立探索的能力,什么叫独立探索呢?即,虽然我暂时不熟悉一个复杂的软件、暂时不知道bug是怎么来的,但是基于自己所拥有的知识体系,可以依靠自己力量来弄清楚这一切。拥有独立探索能力是编程高手的标志,那些编程高手可以依靠自己的力量来解决在我们看来及其难以解决的问题,弄清楚再我们看来理不清头绪的复杂的软件代码。拥有独立探索能力的编程高手不会对任何程序产生畏惧心理,不会对任何bug产生畏惧心理,这些对他们来说反而是一个有趣的挑战,因为这是丰富自己知识体系的一个很好的机会,但这样的机会对于没有独立探索能力的程序员来说简直就是噩梦。

        那么如何才能成为拥有独立探索能力的程序员呢?我们知道,任何的程序,无论这个程序有多么的复杂,最终都是由操作系统来管理运行的,作为程序员所能利用的所有能力(进程、线程、锁、进程通信、网络、I/O等)都是操作系统赋予的。如果你了解了操作系统,理解了操作系统到底是如何运行你写的程序的,那么你将拥有这种独立探索的能力,也就是“元能力”,这是其它能力的源泉。

        

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值