首页 > 代码库 > 计算机基础之操作系统

计算机基础之操作系统

一、什么是操作系统

操作系统和应用程序的本质都是一样的都是软件,只是应用程序是服务于用户,而操作系统是服务于应用程序的。简单的讲,操作系统就是用于协调、管理和控制计算机硬件资源和软件资源的控制程序,它由操作系统内核与系统调用(操作系统提供给应用程序的接口程序)两部分组成,其中内核工作于内核态,系统调用工作于用户态。

 

二、操作系统的作用

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

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

 

2、管理计算机硬件资源

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

 

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

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

 

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

 

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

 

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

计算机基础之操作系统