operating system学习笔记

关于并行和并发的区别:
并行:在一个时间点(同一时间)执行多个程序,这需要CPU具有多核;
并发:在一个时间片段执行多个程序;

分时操作系统-------》分布式操作系统
分布式操作系统,将程序扔到云上或者数据中心去计算
BIOS(basic IO system)———》Bootloader————》OS
Bootloader将OS从Disk加载到memory;

关于逻辑地址和物理地址的映射
逻辑地址到物理地址的映射是由MMU(memory mamange unit)来提供的。

进程和程序的区别

  1. 程序是进程的基础
  2. 进程:包含程序代码和+程序代码需要处理的数据
  3. 从程序执行角度来看,一个程序可以对应多个进程,因为每次执行的时候创建的进程不同,所使用的数据也可能不同;从调用角度来说,一个进程又可以包含多个程序;

进程的特点

  1. 动态
  2. 并发
  3. 独立性
  4. 制约性

进程是由操作系统来分配和创建的,操作系统本质上也是一个程序,那么由一般的程序组成结构来看,程序 = 数据结构 + 算法;
操作系统中的数据结构就是,PCB(process control block) ,通过PCB来进行进程的创建、终止和组织管理;
PCB的实现显然是动态的,因此其内部实现为List 或者 索引表,来实现进程的动态插入和删除;

线程提出的原因:

线程定义:线程是进程中的一条执行流程;
进程的功能进程拆分:资源管理 + 线程,也就是说线程承担了执行的功能;

线程 = 进程 - 共享资源

线程的特点:

  1. 一个进程中可以同时存在多个线程;
  2. 各个线程之间可以并发的执行;
  3. 各个线程之间可以共享地址空间和文件资源等

线程的缺点:

  1. 一个线程崩溃,会导致同一进程中的所有线程崩溃;

进程是资源分配单位,线程是CPU调度单位;
进程拥有一个完整的资源平台,线程只独享必不可少的起源,如其自己的寄存器(register)和栈(stack);
线程同样具有就绪、阻塞和执行三种状态,同样具备状态之间的转换关系;
线程能较少并发执行的时间和空间开销:

  1. 线程创建时间比进程短;
  2. 线程结束时间比进程快;
  3. 同一进程内线程切换时间比进程短;
  4. 由于同一进程中的线程共享内存和文件资源,可直接进行不通过内核的通信;
发布了12 篇原创文章 · 获赞 9 · 访问量 350

猜你喜欢

转载自blog.csdn.net/weixin_43547522/article/details/104703073