0


操作系统的灵魂五问

写在前面:

    亲爱的小伙伴你们好,不知道你有没有在学习操作系统的过程中遇到过这样那样的困难,很多次想要放弃,很多次怀疑自己的能力,但是请你相信“未来的路就在脚下,不要悲伤,不要害怕”,一定要“充满信心,期盼着明天!”。请你一定要相信Tandy12356_,他是未来的你派过来拯救你的救星,他一定会将你带入一段美妙的操作系统学习之旅!

来自Tandy12356_的灵魂问答

一、我们为什么要学习操作系统 ?

    操作系统在计算机系统中占据着核心位置,无论是要设计一个计算机系统,比如为卫星设计一个控制系统,还是要部署一个计算机系统,例如为一家新公司创建一个信息管理系统,亦或是在已有的计算机系统上再开发一个新应用,如针对某手机开发一款更节能的新型浏览器,都是要对这些计算机系统中的操作系统有深入的理解和分析,甚至要进行设计和实现。                                    

    当然我们也需要意识到和国外知名高校之间的差距,我们需要缩小差距,同世界上的顶尖人才去竞争,不断进取,来为祖国争光,实现民族复兴依靠的就是创新啊!


因此我们学习操作系统的目标,就是要对于一个完整操作系统的原理、轮廓、设计和实现建立起完整而深入的认识,并通过大量的实例剖析和动手实践,来提高操纵控制操作系统的能力,这里包括应用操作系统能力,改造操作系统的能力,甚至是自己编写操作系统的能力。

二、什么是操作系统 ?

    操作系统就是安装在计算机硬件之上的**一个实实在在的软件**,只要你按下计算机的电源键,操作系统便永不停息地运作着,相当于C语言当中的一个while(1)死循环,从根本上来讲,操作系统也是由系统开发人员精心编写的程序,这和我们平时写的普通的C语言代码没有什么区别,只是由于操作系统直接和硬件设备打交道,这使得它具备更多的权限,因此人们才可以通过这个软件更加方便而高效地使用计算机的硬件。                                                                                                  
     计算机的硬件主要包括**CPU、内存、输入输出设备**,其中输入输出设备包括**键盘、显示器、磁盘、网络等各种外部设备**(统称为外设),因此操作系统管理计算机的硬件就是要管理CPU,管理内存,管理各种I/O设备,而这些管理就构成了一个基本操作系统的基本功能。

三、我们是如何使用计算机的?

    现在的计算机都以冯·诺依曼提出的存储程序思想作为基础,存储程序的基本含义,就是将程序存储在内存当中,其中程序是一段规定CPU如何运算的指令序列,计算机执行时,CPU将这一段指令逐条地载入到计算机当中,并根据其描述完成规定的运算,**存储程序——载入程序——执行程序就是计算机的基本工作模式**,这就是大名鼎鼎的:**取指——执行——取指——执行**,所以归根结底**我们就是通过执行程序来使用计算机的**。

四、如何高效地使用计算机?

    为了更加高效的使用CPU,需要将多个任务载入内存同时触发,然后通过CPU在多个程序间不断循环来,使CPU充分忙碌。
     程序执行起来的样子和没有执行执行有很大的差别,尤其是对于那些执行到中途的程序,为此针对执行中的程序定义了一个非常重要的概念——进程。有了进程的概念以后,CPU在多个程序之间来回切换执行的样子就变成了多个进程不断交替执行的视图,这就是著名的多进程切换视图。

一旦多进程视图开始运转,计算机硬件系统中的CPU就开始高效的执行程序了,而在程序执行时程序的代码和相关数据要被放入内存,所以在多进程运转时,计算机硬件系统中的内存也开始工作了。

五、操作系统在设计的过程中进行了哪些方面的抽象?

    操作系统在管理CPU的时候抽象出来一个基本的概念——进程,因此CPU的管理就变成了进程管理,操作系统在管理磁盘等外部设备的时候,又抽象出来一个被称为文件的基本概念,这样磁盘管理又变成了文件系统,因此一个基本操作系统包含如下四个基本模块:**进程管理、内存管理、I/O管理以及文件管理**,再加上提供给上层应用的系统接口,就形成了一个基本的操作系统的结构。


当然,在冯洛伊曼体系的计算机当中,除了CPU和内存的两种硬件设备以外,还包括显示器,键盘,磁盘等外部设备在内的各种输入输出设备,文件视图是操作系统用来管理这些输入输出设备的基本方式。
从操作系统的发展历史不难看出,一个非常朴素也非常自然的处理方式,是将所有计算机外部设备都统一抽象成文件,即将显示器看成是文件,将磁盘看成是文件,将计算机中的程序、图像、声音都看成是文件,用户通过文件视图对计算机外部设备的使用,最终表现为下面的“文件视图操作代码”,即用户通过open命令打开设备对应的文件,通过read/write命令读写这个文件,最后用close命令来关闭这个设备。

main()    //文件视图操作代码
{
    char buffer[20]="Hello World\n";
    int fd=open("something","rw");
    write(fd,buffer,12);
    close(fd);
}

小结:

    多进程视图让CPU和内存得以高速运转,用户程序在文件视图下使用各种外部设备。一旦CPU运转起来,内存就会跟着运转,同时执行程序中的输入输出操作,计算机外部设备也会跟着一起运转,因此在多进程视图和文件视图下,整个计算机硬件系统不断高速运转,操作系统已经完成了对计算机硬件的管理,因此多进程视图和文件视图构成了操作系统的完整轮廓。

写在后面:

    不知道大家有没有喜欢Tandy12356_的文章呢?   ( ・´ω`・ ),如果喜欢的话希望大家能点个关注或者收藏的啦!

    在这里给大家预告下期内容啦:**接下来我们会带领大家一起揭开操作系统钢琴的盖子,去了解按下计算机电源键之后到底发生了哪些不为人知的故事!**

** 如果大家喜欢的话,可不可以给个支持呢,您的点赞收藏就是Tandy小熊创作下去的动力捏!!**

      ( • ̀ω•́ )✧( • ̀ω•́ )✧( • ̀ω•́ )✧
标签: 操作系统 c语言

本文转载自: https://blog.csdn.net/Tandy12356_/article/details/124331743
版权归原作者 Tandy12356_ 所有, 如有侵权,请联系我们删除。

“操作系统的灵魂五问”的评论:

还没有评论