哈工大操作系统总结v0.2(操作系统后续学习概述)

操作系统的历史

了解即可,直接谷歌。

学习目标

  • 多进程视图
  • 文件视图

学习目标

cpu为什么采用并行方式

  1. 如果cpu只是不断取指执行,在读取IO时候需要等候很长的时间,和普通计算的计算时间大概是10^6的比值,所以不能采用这种静态执行的方式
  2. 为了让cpu 获得更高效率,所以采用并行执行的方式,将运行着的程序称为进程,于是引入多进程的概念

进程和静态程序的区别

概念上,进程=静态程序+不一样的东西

  • 进程有开始和结束
  • 进程会停止运行不断切换,对程序来说,停止切换没有意义,因为静态程序是一直往下运行,没有这种停止的概念
  • 进程需要保存ax,bx等信息

多进程视图

此节主要是为后面四个内容做一个宏观性的概括,包括下图四个内容

多进程视图

用户级线程

  • 有多少用户级线程就开多少个栈
  • 通过TCB与栈关联,同时在切换线程时,就是通过给当前栈指针cur赋值不同的TCB所对应的栈的指针,从而进行切换

线程切换

  • 线程创造及初始化

线程创造

核心级线程

  • 和用户级线程不同的是,其充分调动了内核,不再只是用户层面的线程
  • 有多少线程就开多少套栈,注意是套,代表一个内核栈和用户栈组合
  • 用户栈通过中断进入内核栈,在内核栈中需要保存用户栈的ss,sp,返回地址等信息,方便用户栈组成一套栈
  • 内核栈进行交换是采用内核里的TCB指针来进行切换,将TCB所对应的栈的指针赋值给cur指针即可完成切换 核心级线程

并行并发区别

  • 并行:同时开始,同时执行,采用不同的内存资源,运行在多核cpu或者多cpu上
  • 并发:同时开始,交替执行,采用相同的内存资源,运行在cpu的单核或者单核cpu上
end

评论