操作系统的历史
了解即可,直接谷歌。
学习目标
- 多进程视图
- 文件视图
cpu为什么采用并行方式
- 如果cpu只是不断取指执行,在读取IO时候需要等候很长的时间,和普通计算的计算时间大概是10^6的比值,所以不能采用这种静态执行的方式
- 为了让cpu 获得更高效率,所以采用并行执行的方式,将运行着的程序称为进程,于是引入多进程的概念
进程和静态程序的区别
概念上,进程=静态程序+不一样的东西
- 进程有开始和结束
- 进程会停止运行不断切换,对程序来说,停止切换没有意义,因为静态程序是一直往下运行,没有这种停止的概念
- 进程需要保存ax,bx等信息
多进程视图
此节主要是为后面四个内容做一个宏观性的概括,包括下图四个内容
用户级线程
- 有多少用户级线程就开多少个栈
- 通过TCB与栈关联,同时在切换线程时,就是通过给当前栈指针cur赋值不同的TCB所对应的栈的指针,从而进行切换
- 线程创造及初始化
核心级线程
- 和用户级线程不同的是,其充分调动了内核,不再只是用户层面的线程
- 有多少线程就开多少套栈,注意是套,代表一个内核栈和用户栈组合
- 用户栈通过中断进入内核栈,在内核栈中需要保存用户栈的ss,sp,返回地址等信息,方便用户栈组成一套栈
- 内核栈进行交换是采用内核里的TCB指针来进行切换,将TCB所对应的栈的指针赋值给cur指针即可完成切换
并行并发区别
- 并行:同时开始,同时执行,采用不同的内存资源,运行在多核cpu或者多cpu上
- 并发:同时开始,交替执行,采用相同的内存资源,运行在cpu的单核或者单核cpu上
评论