第三篇.操作系统

一.操作系统简介

1.1什么是操作系统

操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。操作系统所处的位置如图1

操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)
以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于
内核态的,是不准确的。

1.2操作系统分成两部分

接口程序:将硬件的功能封装成简单的接口,用来给应用软件或者给用户使用。
内核:具体控制硬件,对下。

1.3CPU工作的两种状态

用户态:cpu执行用户程序 / 应用程序所处的状态,处于用户态不能控制硬件
内核态:cpu执行操作系统内核所处的状态,处于内核态能够控制硬件

1.4应用程序的启动

前提:先启动操作系统
1、向操作系统提交程序启动文件的路径
2、操作系统根据文件路径把硬盘的数据读入内存
3、操作系统调用cpu来执行内存中刚刚读入的程序代码

二.操作系统的两大作用

# #作用一:为应用程序提供如何使用硬件资源的抽象
# 例如:操作系统提供了文件这个抽象概念,对文件的操作就是对磁盘的操作,有了文件我们无需再去考虑关于磁盘的读写控制
# 注意:
# 操作系统提供给应用程序的该抽象是简单,清晰,优雅的。为何要提供该抽象呢?
# 硬件厂商需要为操作系统提供自己硬件的驱动程序(设备驱动,这也是为何我们要使用声卡,就必须安装声卡驱动。。。),厂商为了节省成本或者兼容旧的硬件,它们的驱动程序是复杂且丑陋的
# 操作系统就是为了隐藏这些丑陋的信息,从而为用户提供更好的接口
# 这样用户使用的shell,Gnome,KDE看到的是不同的界面,但其实都使用了同一套由linux系统提供的抽象接口
#
# #作用二:管理硬件资源
# 现代的操作系统运行同时运行多道程序,操作系统的任务是在相互竞争的程序之间有序地控制对处理器、存储器以及其他I/O接口设备的分配。
# 例如:
# 同一台计算机上同时运行三个程序,它们三个想在同一时刻在同一台计算机上输出结果,那么开始的几行可能是程序1的输出,接着几行是程序2的输出,然后又是程序3的输出,最终将是一团糟(程序之间是一种互相竞争资源的过程)
# 操作系统将打印机的结果送到磁盘的缓冲区,在一个程序完全结束后,才将暂存在磁盘上的文件送到打印机输出,同时其他的程序可以继续产生更多的输出结果(这些程序的输出没有真正的送到打印机),这样,操作系统就将由竞争产生的无序变得有序化。

三.操作系统与普通软件的区别

1.程序员可以修改或者创造应用程序,但是无法写一个属于操作系统一部分的程序,操作系统由硬件保护,不能被用户修改.
2.操作系统是大型复杂长寿的软件,而用户程序则相反.

 

posted @ 2018-12-28 20:32  王苗鲁  阅读(95)  评论(0编辑  收藏  举报