操作系统01_进程与线程
Posted pycrab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统01_进程与线程相关的知识,希望对你有一定的参考价值。
进程和线程
- 并发和并行
并行是多个事件在同一时刻发生,并发是多个事件在同一时间间隔内发生。 - 操作系统的基本特征
并发
程序并发执行共享
互斥共享和同时访问两种方式虚拟
时分复用技术和空分复用技术异步
进程异步执行,停停走走向前推进,时间片
- 什么是进程?
程序是指令和数据的有序集合,进程是进程实体(程序段、数据段、PCB)在处理机上的一次执行过程。进程是系统资源分配和调度的一个独立单位。
引入进程是为了程序并发执行,以提高资源利用率和系统吞吐量。 - 什么是线程?
线程是独立调度、独立运行和分派的基本单位。线程是轻量级进程,线程只拥有少量资源(TCB等),并不拥有系统资源,多线程共享进程的资源。
引入线程是为了减少程序并发执行的时空开销(主要在创建、撤销和进程切换),使OS具有更好的并发性。 - 进程的特征(与程序的区别)
动态性
进程是一次执行过程,由创建而产生、调度而执行、撤销而消亡。程序是静态的,如果没有为之建立PCB,则程序没有意义。并发性
多个进程实体在内存中,在一段时间里能同时运行。没有建立PCB的程序不能并发执行。独立性
进程实体能独立运行、独立获得资源、独立接受调度。没有建立PCB的程序不能独立运行。异步性
进程各自独立、异步运行,因此程序才能并发执行,为保证结果可再现,需配置进程同步机制。
- 进程的状态
就绪(Ready)
进程已获得除CPU以外的必要资源,需按策略排成就绪队列执行(Running)
进程获得CPU,程序执行阻塞(Block)
进程由于发生I/O请求等事件无法继续执行,产生阻塞,这时需进行调度,将阻塞进程加入阻塞队列,将处理机分配给就绪队列中的进程创建
进程申请PCB,初始化PCB,处理机为进程分配资源,最后把进程转入就绪状态并加入就绪队列终止
进程在执行过程中由于正常或异常需要终结,OS处理后将PCB清零并将PCB空间返还系统。
- 进程同步方式
- 硬件同步方式,如关中断、Swap指令、Test-And-Set指令
- 信号量机制
- 管程机制
- 经典进程同步问题
生产者-消费者问题
以上是关于操作系统01_进程与线程的主要内容,如果未能解决你的问题,请参考以下文章
Java千百问_01基本概念(006)_线程和进程有什么区别