操作系统进程和线程初识

1 篇文章 0 订阅
1 篇文章 0 订阅

前序

要了解操作系统首先先了解冯诺依曼计算机体系操作系统应用的就是该体系
在这里插入图片描述

  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,在同一个时间点,同时执行多个任务代码指令。可以称为真同时
在这里插入图片描述
5. 进程中的上下文
在这里插入图片描述
(1)进程切换出去时:系统保存进程环境信息
(2)进程切换进来时:系统获取之前保存的该进程环境信息,并恢复
时间片轮转调度
进程1---->进程2:上文就是进程1的环境信息,下文就是进程2的环境信息。切换出去系统保存上文信息
进程3---->进程1:系统调度回进程1要进行恢复上下文信息,使用之前保存进程1的环境信息
6. 进程的状态
在这里插入图片描述
7. 进程和线程的区别

  1. 进程是系统分配资源的最小单位,线程是系统调度的最小单位(系统调度:时间片轮转、并行、并发等)
  2. 进程有自己的内存地址空间,线程只独享指令流执行的必要资源,如寄存器和栈
  3. 由于同一进程的各线程间共享内存和文件资源,可以不通过内核直接通信
  4. 线程的创建、切换和终止效率更高

线程的优点

  1. 创建一个新线程的代价要比创建一个新进程小的多
  2. 与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多
  3. 线程占用的资源要比进程少很多
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值