首先先补充一下上一篇的一个小问题。
应用程序的启动流程:
前提:应用程序是运行于操作系统之上的
举例:启动暴风音影
1.双击快捷方式
2.告诉操作系统一个文件路径
3.操作系统从硬盘读取文件内容到内存中
4.cpu从内存读取数据执行
下面开始今天的课程:
一、操作系统发展史及多道技术
1.第一代计算机(1940~1955):真空管和穿孔卡片
特点:没有操作系统的概念,所有的程序设计都是直接操控硬件。
优点:每个人独享,可以自己调试代码,找到bug。
缺点:浪费计算机资源。
2.第二代就算机(1955~1965):晶体管和批处理系统
特点:把代码都赞到一块,让一个CPU共享,但是还是一个一个的去运行,还是顺序算法(串行)
优点:批处理,节省了机时。
缺点:有人的参与了,搬过来搬过去的麻烦,拖慢程序运行的速度
3.第三代计算机(1965~1980):集成电路芯片和多道程序设计
第三代计算机的操作系统广泛应用了第二代计算机的操作系统没有的关键技术:多道技术
多道技术:(指的是多道/个程序)
1.空间上的复用:内存要支持同时跑进多个程序
2.时间上的复用:多个程序要让它们能切换(什么时候要切?一个程序占用的时间过长要切;当CPU遇到IO阻塞时,等待的时间要切)
4.第四代计算机(1980~至今):个人计算机
二、为什么要使用操作系统呢?
程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。
三、操作系统的两大作用
1.为应用程序提供如何使用硬件资源的抽象
2.把多个程序对硬件的竞争变得有序化(管理应用程序)
四、计算机语言的分类
机器语言:
特点:用计算机能看懂的0和1去写程序
优点:程序运行速度快
缺点:开发效率低
汇编语言:
特点:用一些英文标签代替一串二进制数字去写程序
优点:比机器语言好一点,操作系统内使用大量汇编语言(操作系统不需要网络,则速度越来越好)
比如:关于进程的调用代码,就是用汇编语言写的
缺点:开发效率低
高级语言:
特点:用人能读懂的(英文)字符去写程序
优点:开发效率高
缺点:运行速度慢,必须经过翻译才能让计算机识别,导致运行速度慢
以上得出结论:开发效率从低到高,运行速度从低到高,学习难度由难到易。