操作系统进程和线程初识

前序

要了解操作系统首先先了解冯诺依曼计算机体系操作系统应用的就是该体系
操作系统进程和线程初识

  1. 存储器指的是内存
  2. CPU(*处理器)—控制器、运算器
  3. CPU的指令类型
    (1)逻辑处理:比如程序中逻辑运算符
    (2)计算型:比如程序中n++
    (3)数据操作:数据拷贝、IO

计算机的运行效率(由快到慢)
CPU高速缓存->内存->硬盘->百度网盘

操作系统

  1. 操作系统是一款纯正的搞管理软件
  2. 管理的范畴:
    (1)进程管理:通过一个PCB的结构体来保存进程信息,包括PID(进程启动以后系统分配)、进程名称、进程状态等等
    (2)内存管理
    (3)驱动管理:通过驱动程序间接的管理计算机硬件
    (4)统计信息:系统可以统计系统资源信息,如内存、CPU、网络等等

系统函数库:系统级别的接口(系统提供出来的一些用户程序可以调用的功能)
用户程序–>调用系统接口–>系统接口内部代码的执行–>调用某个驱动程序来让硬件干活–>硬件做事

进程

1.程序和进程的区别
程序:静态的可执行的命令。某些文件不属于程序(静态的)
进程:程序运行以后,由操作系统管理(动态的、运行的)

比如xxx.md用Typora程序打开,相当于是Typora程序变成了Typora程,进程内来处理文件(作为一个参数传入进程的)。Typora把文件内容读取并渲染出来,并展示给我们看。

问题:Java文件、class文件属于程序吗?
Java代码编译:javac xxx.java-------javac由程序变为进程来执行编译操作,xxx.java
作为参数传入进程中
Java代码运行:java xxx------java作为进程,xxx作为参数,进程是查找这个参数的class文件
2. 程序、内存和进程的关系
操作系统进程和线程初识
3.时间片轮转调度
操作系统进程和线程初识

操作系统的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮转执行

任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就绪状态等待下一个属于它的时间片的到来

表现:时间片轮转调度时,时间很短,人肉眼根本识别不出来,就感觉所有任务都在同时运行,可以称为假同时
真实情况:一个CPU,在某一个时间段,由操作系统调度,在不同进程间切换
4. 并发和并行
并发:一个CPU,在某一个时间段,由操作系统调度,在不同进程间切换
并行:多个CPU,在同一个时间点,同时执行多个任务代码指令。可以称为真同时
操作系统进程和线程初识