计算机基础之操作系统

时间:2021-01-28 14:26:53

一、为什么要操作系统

现在计算机系统是一个复杂的系统,它由多个硬件资源组成,如果程序员要自己去了解这些硬件资源的工作原理然后编写代码去控制他们的话就无法在编写应用程序了,并且要把这些硬件资源都管理起来优化使用是很困难的,于是就有了操作系统,由它负责计算机硬件的管理和控制,程序员只需要调用操作系统提供的接口程序来调用操作系统去完成硬件的控制,然后由操作系统将执行结果返回给应用程序就可以了,这样极大的减轻了程序员的开发负担,大大提高了开发的效率。

 

二、操作系统的位置

操作系统位于计算机硬件和应用程序之间,它由内核与系统调用两部分组成,其中内核工作在内核态,位于计算机硬件和系统调用之间,系统调用工作在用户态,位于内核与应用程序之间。

 

三、操作系统的功能

1、操作系统提供应用程序控制计算机硬件的接口

操作系统是负责控制硬件的,而应用程序是无法直接控制计算机硬件的,当应用程序需要使用计算机的硬件资源怎么办呢?这时候就需要用到操作系统提供的这些接口程序了,应用程序可以通过调用这些接口程序来让操作系统帮助它控制相应的硬件完成工作,在把执行结果通过接口返回给应用程序

 

2、管理计算机硬件资源

当多个应用程序竞争使用同一个硬件资源时,操作系统则负责控制多个应用程序有序的使用硬件资源,避免无序竞争导致程序运行结果出错。

 

四、操作系统的发展

第一代计算机(1940-1955):真空管和穿孔卡片

特点:没有操作系统,所有应用程序都直接控制硬件

优点:程序员在约定时间内独享计算机,程序出现BUG时可以及时调试解决

缺点:计算机资源极大的浪费

 

第二代计算机(1955-1965):晶体管和批处理系统

特点:设计人员、生产人员、操作人员、程序人员和维护人员直接有了明确的分工,有了操作系统,有了编程语言

优点:充分利用了计算机资源

缺点:计算机运行过程仍然需要人参与,运行顺序仍然时串行的,程序员无法及时调试BUG,开发效率降低

 

第三代计算机(1965-1980):集成电路芯片和多道程序设计

特点:程序输入之后中间的运行和结果输出不需要人工参与,出现了现代操作系统的关键技术--多道技术

优点:操作方便,能同时运行多个程序

 

第四代计算机(1980-至今):个人计算机

 

五、现代操作系统的重要技术基础-----多道技术

多道技术即计算机同时运行多个程序的技术,它的实现需要用到内存的空间复用以及CPU的时间复用。

 

内存的空间复用即内存中同时加载多个程序的数据,其关键就是在物理上实现多个程序的内存空间隔离,就是内存中的所有程序都只能访问自己的内存空间而无法访问其他程序的内存空间。之所以要内存空间隔离是因为如果不实现内存空间隔离的话就会带来两个问题,第一安全性丧失,如果程序间可以互相访问数据,那么用户的账号信息,公司的机密信息就会被别人盗走;第二稳定性丧失,一个程序退出时可能把操作系统的内存空间也回收了,造成系统崩溃。

 

CPU的时间复用即一个程序占用CPU时间过长或发生I/O请求等会长时间占用或闲置CPU的情况时,CPU就切换执行下一个程序。

 

多道技术的实现流程是内存同时加载多个程序并为每个程序分配独立的内存空间,CPU先从内存中读取一个程序数据运行,当这个程序长时间占用或闲置CPU时,就从内存中读取下一个程序运行,一直这样不停切换,由于CPU的切换速度极快,用户无法感知出来,就像计算机同时在运行多个程序一样。