操作系统——导论

作者: 失落的艺术 | 来源:发表于2019-01-02 16:22 被阅读4次

    对于操作系统大家都不陌生,如今流行的Windows,MacOS,Linux都是很不错的产品。这里我们不谈具体的技术细节,只聊聊它们这些系统设计的思想,来感性认识一下操作系统,对操作系统有一个整体性的把握。

    没有操作系统,计算机还能不能顺利工作?操作系统的历史?
    答案是肯定的,但是没有操作系统也暴露了很多问题,马克思说,在实践中发展。那么,操作系统也是不断的发展的,而每一时期要解决的问题都不尽相同。

    • 批处理操作系统
    • 分时操作系统
    • 实时操作系统
    • 网络操作系统
    • 多处理器操作系统
    • 分布式操作系统

    操作系统是干什么的?或者说,它的设计目标是什么?

    对用户来说,主要是易用性,也就是要求人们操作方便。
    对机器来说,主要是有效性,即提高设备的利用效率。

    操作系统是个什么东西?
    操作系统的英文名字System Operator,简称OS。很有意思,system这个单词,其英文本意就是制度,例如社会主义制度,资本主义制度,也就是说,它和政治有很大的相似之处,政治又和经济有联系,经济则和人类赖以生存的资源相呼应。说白了,所谓的各种制度就是如何管理社会中的人类,以使人与人之间能更好的分配资源,和谐相处。

    计算机就如同一个小型的社会,当然这个社会的资源也是很稀缺的。那么,我们该如何划分资源,才能让这个社会和谐有效的发展呢?这就是我们如今的社会制度要解决的问题。当然,如同我们的社会主义制度,这个小型社会也有它自己的一套制度,这样设计操作系统的一系列思想也就应运而生了。

    上面我们已经看到了,无论是管理人的社会制度,还是管理硬件的计算机制度,它们的目标都大体相同,面临的问题也大体相似。例如,我们社会有阶级矛盾,有穷人和富人直接的矛盾,有地主与贫民之间的矛盾等等,为了解决这些矛盾就要制定相应的策略,然后按照这些策略实施。

    那,计算机这个“社会”有哪些矛盾,或者说有哪些需要我们亟待解决的问题?下面我们给出五大基本问题,也相应分别对应于后面我们要展开叙述的五章。

    1.程序员(进程)与程序员(进程)之间的矛盾。

    因为每个程序员都想要使用电脑,只有一个处理器,怎么办?

    这就出现了进程,进而出现了线程、并发和并行的思想。

    2.程序员与内存之间的矛盾。

    内存空间非常有限,这就限制了程序员写的程序不能很大,至少不能大于内存吧。

    为了解决内存太小的问题,设计开发人员都在想办法。如果你面对这个问题,你会怎么办?那还不简单,有钱的出钱买更大的内存,没钱的出力,把自己的程序尽量压缩,或者设计的精巧一些。游戏玩家可能就直接说,来来来,4G换8G吧,8G不能吃鸡换16G。没错,就是这么的简单粗暴,没办法,有钱就是任性。

    但设计人员不这么想,毕竟资源太少。硬件设计人员,想着通过提高工作效率,进而有资金能够支撑设计出更大的内存空间,这也就是我们常常看到的内存从原来的1G到现在的4G,8G,甚至最近小米mix3手机10G内存的尊享版。不错,随着科技的进步,企业的效率也的确提高了不少,程序员也能写出更大的应用程序了。

    但是,但是,我们要知道,程序员终究不能写出占用内存空间更大的程序,或者说,程序员依然受限于内存空间缓慢增长的痛苦。当你正在用力拍着键盘,狂点鼠标杀进程时,然后口中还不时地来一句fuck,如果这时有一哥们过来笑着对你说,大兄弟,内存又不够了?来来来,看看我的这个技术,这个可能让你开发出你能想的到的任意程序啊,一劳永逸,让那挤牙膏般的内存开发商见鬼去吧。然后,当你再次听到同事讨论哪家内存好,哪家内存的性价比高时,你只是在心里嘿嘿一笑,以表敬意。

    这一技术的出现,完全打破了内存的壁垒,使得程序员完全从内存中解放了出来,可以说这一技术的出现,完全能引领一次工业浪潮。

    这就出现了一系列关于对内存管理的思想,或措施。比如说,虚拟内存,内存置换等等

    3.CPU和内存之间的矛盾

    CPU的速度是很快的,而程序从磁盘中被调入到内存中,在被提取到CPU上去执行,这就严重拉下了CPU的速度。

    4.CPU和IO设备之间的矛盾

    与内存同理,IO设备传输数据非常慢,而有些设备可以被多个进程同时使用,但更多的设备就不能被同时使用

    该如何解决这些问题,来提高CPU利用率?这就出现了缓冲的思想。并且还可以分别从软件和硬件方面着手,例如,直接程序控制,中断控制,DMA控制,通道控制。

    5.用户对文件管理的矛盾

    它是如何工作的?

    相关文章

      网友评论

        本文标题:操作系统——导论

        本文链接:https://www.haomeiwen.com/subject/dqnmcqtx.html