操作系统概论

​慢慢开始有人关注了,不容易呀,增加些动力了!最近这几篇我写的比较快,因为目前我其实已经学到了高级语言程序设计也就是C语言,现在写的内容都是我较早以前学过的内容,现在回忆总结出来的。我写这个公众号是在我已经开始学习一个月以后了,所以我想尽快把之前学过的内容总结完,好赶上我现在学习的进度。如果感觉有不理解的地方可以后台给我留言,我看到了会第一时间回复解答。再过两天基本就能赶上我现在学习的内容了,而且也是相对重点的内容就是编程语言,那时写的内容应该会更加细一些。

这一个月以来我每天坚持抽出半个小时来锻炼身体,希望你也能坚持!


之前学到系统软件是协调硬件设备为应用软件提供服务环境的软件,它介于应用软件和硬件之间,负责组织协调计算机上的处理器、存储器、外部设备等物理设备之间的连接。操作系统就是属于这种系统软件。学习完操作系统概论,就会对操作系统软件有一个更加全面深入的理解和认知。


首先市面上熟知的操作系统是windows操作系统,分为windows xp,windows vista,windows7,windows8,windows10。Unix操作系统Mac osx,linux发行版等等。这些操作系统已经非常完善和成熟了,能够协调兼容调配几乎所有市面上已知的机器设备类型。


操作系统概论

操作系统是如何协调硬件设备为应用软件及用户提供服务是本书核心要讲解的内容,全书分为六个章节,操作系统简介→进程管理→进程调度与死锁→内存管理→文件系统→I/O设备管理。本书通过章节名称可以基本判断全书的书写思路是先介绍操作系统的发展,接着讲解操作系统的核心工作原理(进程管理、进程调度与死锁、内存管理),最后介绍操作系统对一些基本设备控制的设置(文件系统、I/O设备管理)。


操作系统的概念通过之前的学习已经有了了解,具体来说操作系统解决计算机系统里面的功能主要是:1、内存管理。2、进程管理。3、设备管理。4、文件管理。5、提供用户接口。通过字面意思能较好理解内存管理主要是负责对内存进行协调分配,以保证系统的运行内存保持良好的运转。设备管理主要是负责外部设备和系统的协调连接。文件管理是设置我们平时所用的文件夹或者其他文件类型的属性。提供用户接口主要是为其他应用软件在操作系统上的开发和运行提供一些开放的代码接口,让应用软件能够成功的安装运行在操作系统上,连接起来成为操作系统的一部分。进程管理并不是很好理解,但它确是操作系统的核心功能,它主要是能够让各个不同的应用软件能够同时在计算机上进行运行的这样一个协调机制。


每一个不同的软件就是安装存储在计算机内存上的一套代码,比如excel,QQ,PS都是不同的代码集合,你在电脑上可以同时打开他们,也可以打开更多的软件。每打开一个软件在计算机内部就是在运行该软件的代码,CPU就要开始运行处理该软件生成的指令和信息,把CPU运行的软件程序称之为进程,意思就是正在进行中的程序。一个应用软件的代码是非常多的,每当我们打开一个软件的时候,使用的可能只是它的一个功能,那么其实只需要运行与该功能相关联的代码段,因此,一个软件程序是能有非常多个的进程的。现在基本上一台计算机只有一个CPU,每个CPU每次只能按特定顺序一条条的执行指令,当我们同时在一台电脑上打开不同的软件,就会存在需要同时执行多个进程的问题,那出现这种问题怎么处理了?这就是操作系统的进程管理和进程调度与死锁所解决的问题了!


操作系统概论

操作系统对进程进行管理的方法一般有以下几个:

1、先来先服务算法:就是哪个进程先打开就先运行哪个进程,直到把该进程要运行的程序运行完,再运行下一个进程。

2、短进程优先算法:同时打开几个进程,那个进程最短,能够最快处理完就先执行那个进程。

3、优先权调度算法:同时打开几个进程,哪个进程等级越高,就先处理哪个进程的程序。

4、时间片轮转算法:同时打开几个进程,给每一个进程分配一点点固定的时间,当第一个进程时间结束就先暂停执行下一个进程,如此循环,雨露均沾。

目前只需要明白一个概念,那就是操作系统会按照系统设定的方式协调处理各个软件同时运行的问题,合理分配CPU资源,让每一个软件运行起来没有卡顿,看起来就像是CPU和内存唯一在服务当前运行的软件一样。


每一个程序进程在执行的时候都是需要提前将该进程的代码存入内存当中,以便能与CPU进行及时交换数据,因此给不同进程分配相应的内存空间也是操作系统需要安排协调的事情,和进程管理一样,内存分配方式也是有一定的规则的,这里就不详细总结了,明白道理就行。说到这里我们就自然明白,计算机分配内存以及CPU资源是以进程为单位进行分配的,每创建一个进程,系统会自动为该进程分配好它需要的相应资源。在这个概念的基础上引入线程的概念,线程是什么呢?把程序分为一段段将要执行功能的运行程序叫做进程,意思就是把程序再进行了划分,分成了一段段的。那么把进程再进行划分,分成更细的一段段的就叫做线程,有的操作系统是可以支持线程分配操作的。把程序分的这么细有什么好处呢?因为电脑的CPU资源和内存资源都是有限的,每一个软件程序代码却是非常庞大的,当系统执行一个软件的时候大部分时间可能只需要用到软件的一小部分功能,如果每次只用到这一小部分程序代码却需要把整个程序全部搬入内存用完这一小段代码后又把整个程序移出,会消耗大量计算机资源做无用的搬运工作,这样有限的计算机资源能同时运行的软件数量就会大大减少,浪费系统资源。因此,把代码分成越细的功能段对系统资源的利用率就会越高,相对来说系统的性能也就会越好。


操作系统概论

明白了操作系统对硬件及软件起到的协调作用后,再来了解一下它对系统的定型定性。操作系统是对内存进行自动动态资源分配,对硬盘是由管理员安装操作系统的时候进行分配。而对文件管理不同的操作系统则基本遵守相同的规则,就是对文件的命名、结构、类型这些属性进行一些设定,让用户能够直接进行数据的规范化存储。同时对外部设备的接口进行管理与协调。


这样对操作系统也有了一个较为全面的认知,当我们对计算机系统掌握到这个层面的时候,基本的主体知识框架就基本构建好了,接下来就可以专心学习代码语言方面的知识了。但是我不一样,需要在专心学习一门应用技术之前全面了解它的应用环境,以便更好地理解计算机带来的互联网时代!!!因此接下来我会继续学习两本书,一是计算机网络技术,了解独立计算机是如何组合形成的共享互联网,这是技术应用的基本知识面。另一本是办公自动化原理及应用。这样对我学习编程进行应用的应用环境就基本全面覆盖到,再专心进行编程学习可能会更加具有应用性和成就感!


分享到:


相關文章: