操作系统 | 导论

对于操作系统大家都不陌生,如今流行的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.用户对文件管理的矛盾

它是如何工作的?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,834评论 1 22
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,337评论 2 89
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 12,509评论 3 34
  • word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话...
    Jozhn阅读 4,936评论 0 8
  • 到张掖单位出差最大的幸福,就在于能够偶尔回趟家。离家又50天了,这50天里积攒的思念,已经成灾。这份思念,缭乱了心...
    不猜人心的职场鸟人阅读 318评论 0 1

友情链接更多精彩内容