你知道二进制吗?你能理解机器语言吗?假如给你一张全是0或1的表格你能理解是啥意思吗?假如你要去一个你没有去过的国家,你要说你从没听过的语言,或者你要能听懂不需要说它,那么需要怎么帮助你才能和当地人交流呢?
你需要一个翻译,你的操作系统就像你电脑里的翻译一样。它将0或1,是或否,开或关转成你能够理解的语言。它在一个简单的图形化界面中完成这些工作,你可以用鼠标点击、移动一些东西,这些可以用你的眼睛看到。
一个严谨的软件工程师必须要知道操作系统的工作方式。如果有人跟你说那不重要,那么他是骗你的,事实上你不应该忽略它(操作系统的工作方式)。虽然知识的深度和广度会成为一个问题,但是了解更多的基础知识能让你更好的把控程序的运行、流程和结构。
这是为什么呢?当你写的程序运行的越来越慢,但是代码里面看不到任何警告,这时候你该如何解决呢。假如你不知道操作系统是如何工作的,要怎么去调试这个问题呢?访问了过多文件?内存耗尽或者交换区使用过高?但是你甚至不知道什么是交换区(swap)或阻塞IO。
你想访问另一台机器,怎样在本地或网上操作呢?他们有什么不同吗?为什么有的程序在某个系统上能运行而其他的系统却不行呢?(这里感觉不妥)
操作系统有三个重要元素:
1)抽象(进程、线程、文件、套接字、内存)
2)机制(创建。调度、打开、写操作、分配)
3)策略(LRU, EDF)(这两个我也暂时不懂)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !