一、为什么要有操作系统
因为计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。现代计算机系统复杂
每位计算机程序员不可能全部的掌握该系统的所有细节,就不可能写代码而且影响开发效率;所以就有操作系统。
二、操作系统的位置
操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。
操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用
(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。
三、操作系统的功能
操作系统分为两个功能:
<1>:隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。
应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。
<2>、将应用程序对硬件资源的竞态请求变得有序化,
四、操作系统的发展
<1>、真空管和穿孔卡片
<2>、晶体管和批处理系统
<3>、集成电路芯片和多道程序设计
五、多道技术
操作系统基础:
多道技术:(多道指的是多道/个程序)
PS:内存必须实现物理级别隔离
空间上复用:内存中进入多个程序
时间上复用:CPU要切换
<1>、一个程序占用CPU的时间长
<2>、一个程序偶遇了IO阻塞
操作系统的两大作用:
作用一:为应用程序提供如何使用硬件资源的抽象
作用二:把多个程序对硬件的竞争度的有序变化
机器语言:
特点:用计算机能看懂的0和1去学程序
优点:程序运行速度快
缺点:开发效率低
汇编语言:
特点:用一些英文标签代替一串二进制数字去写程序
优点:比机器语言好一点,操作系统内大量使用汇编语言
比如关于进程的调度代码,就是用汇编写的
缺点:开发效率低
高级语言:
特点:用人能听懂的(英文)字符去写程序
优点:开发效率高
缺点:必须经过翻译才能让计算机识别,导致运行速度低
总结:
运行效率从高到低
开发效率从低到高
学习难度从难到易