首页 > 代码库 > day2_操作系统

day2_操作系统

一、为什么要有操作系统

      因为计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。现代计算机系统复杂

每位计算机程序员不可能全部的掌握该系统的所有细节,就不可能写代码而且影响开发效率;所以就有操作系统。

二、操作系统的位置

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

      操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用

 (运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。

三、操作系统的功能

      操作系统分为两个功能:

<1>:隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。

应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。

<2>、将应用程序对硬件资源的竞态请求变得有序化,

四、操作系统的发展

<1>、真空管和穿孔卡片

<2>、晶体管和批处理系统

<3>、集成电路芯片和多道程序设计

五、多道技术

操作系统基础:

       多道技术:(多道指的是多道/个程序)

       PS:内存必须实现物理级别隔离

      空间上复用:内存中进入多个程序

      时间上复用:CPU要切换

                                         <1>、一个程序占用CPU的时间长

                                        <2>、一个程序偶遇了IO阻塞

操作系统的两大作用:

                     作用一:为应用程序提供如何使用硬件资源的抽象

                     作用二:把多个程序对硬件的竞争度的有序变化

 

机器语言:
特点:用计算机能看懂的0和1去学程序
优点:程序运行速度快
缺点:开发效率低
汇编语言:
特点:用一些英文标签代替一串二进制数字去写程序
优点:比机器语言好一点,操作系统内大量使用汇编语言
比如关于进程的调度代码,就是用汇编写的
缺点:开发效率低
高级语言:
特点:用人能听懂的(英文)字符去写程序
优点:开发效率高
缺点:必须经过翻译才能让计算机识别,导致运行速度低
总结:
运行效率从高到低
开发效率从低到高
学习难度从难到易

day2_操作系统