wordpress如何站点,怎样在门户网站做网络推广,四川淘宝网站建设方案,黑龙江建设网官方网站监理查询计算机操作系统
1.进程管理
1.1 基础概念
进程线程 进程是操作系统资源分配的基本单位。一个进程运行时#xff0c;会获取必要的CPU、内存地址空间#xff0c;以及运行时必要的IO设备。 线程则是执行调度的最小单位。一个进程会由一个线程或者多个线程执行调度任务。…计算机操作系统
1.进程管理
1.1 基础概念
进程线程 进程是操作系统资源分配的基本单位。一个进程运行时会获取必要的CPU、内存地址空间以及运行时必要的IO设备。 线程则是执行调度的最小单位。一个进程会由一个线程或者多个线程执行调度任务。多个线程之前共享进程资源也有自己的私有资源程序计数器方法栈。
比如一个音乐播放器上播放器是一个进程播放器上的听歌和下载音乐就是两个线程
并发并行 并发是值一段时间内有多个应用可以一同执行或者发生。看起来每个程序都在进行但是实际在这段时间内的更小的时间片上是交替执行的。 并行则是指多个事件可以在同一时刻发生通过多核CPU可以实现并行一个时刻一个CPU只有一个程序在运行强调的是时刻的概念。
内中断外中断 在操作系统中主要通过中断来控制不同程序的交互。 当发生中断时CPU会陷入·核心态暂停当前运行的进程由操作系统对中断进行处理 中断一般分为内中断和外中断 内中断来自CPU内部和当前的指令有关也叫异常、陷入 外中断来自CPU外部指令无关外部中断实质是外部设备发起的一些中断请求键盘、鼠标等
不同中断之前存在一定优先级操作系统优先处理优先级较高的中断 每执行一个指令后CPU检查是否由中断信号如果存在中断信号CPU会保护被中断进程的CPU环境进程id寄存器、进程调度信息进程状态、优先级、事件等存在在PCB中
中断
1.2进程管理
为了描述控制进程的运行系统中存放进程的管理和控制信息的数据结构称为进程控制块PCB Process Control Block PCB用于描述和控制进程运行的通用数据结构记录进程当前状态和进程运行的全部信息是进程存在的唯一标识。其主要包括以下信息
进程标识符pid处理机状态信息通用寄存器指令寄存器用户栈指针保存恢复进程调度信息进程优先级进程状态时间信息等待执行
1.2.1进程状态
CPU会更具进程状态进行调度 进程有以下状态 就绪态PCB、内存、堆栈空间等资源分配好只差CPU的状态 执行态进程获取CPU正在执行 阻塞态进程中断放弃CPU的状态 创建状态拥有PCB但是其他资源未就绪 中止态进程结束由系统清理或者归还CPU的状态
1.2.2进程调度
操作系统通过进程调度决策哪个就绪态的进程可以获取CPU使用权 当进程主动终止、时间片结束、或者中断时会触发进程调度 进程调度一般分为两种方式
抢占式操作系统可以剥夺进程CPU使用权通用系统切换频繁相对公平非抢占式只能由当前进程主动终止专用系统进程切换少不公平
进程调度主要有以下方法 1.先来先服务算法 不考虑用户体验吞吐 2.短进程优先调度算法 考虑吞吐不考虑长进程 3.最短剩余时间优先 考虑吞吐不考虑长进程 此外也可能无法预估进程剩余时间 4高优先级调度算法 考虑优先级 5.时间片轮转调度算法 相对公平但是优先级 6反馈法高优先级先来先服务时间片 考虑优先级 执行越多掉优先级 7多级反馈队列调度算法 考虑优先级吞吐量 执行越多掉优先级不同优先级时间片不一致优先级第时间片高
1.2.3 进程信息同步
临界资源哲学家进餐问题作为共享资源但是有不能同时被多个进程使用的资源。当有进程在使用临界资源时其他进程需要根据操作系统同步机制等待资源释放后重新竞争共享资源。 进程同步主要在于协调临界资源使用次序保障多个进程并发执行时的资源协调和合作 原则空闲让进忙则等待等待有限等待让权CPU
进程同步
1.fork系统调用创建子进程此时子进程代码段是与父进程共享以外其他所有的都是得到父进程的一个副本(内存)但是子进程可以消费父进程的匿名管道以此通信。管道的本质就是内核在内存中开辟了一个缓冲区这个缓冲区与管道文件相关联对管道文件的操作被内核转换成对这块缓冲区的操作 2.有名管道内核内存创建有名管道可以不同进程通信FIFO,无格式字节流 3.消息队列消息队列的本质就是存放在内存中的消息的链表而消息本质上是用户自定义的数据结构。于用户进程写入数据到内存中的消息队列时会发生从用户态拷贝数据到内核态的过程同样的另一个用户进程读取内存中的消息数据时会发生从内核态拷贝数据到用户态的过程。因此如果数据量较大使用消息队列就会造成频繁的系统调用也就是需要消耗更多的时间以便内核介入。 4.共享内存允许不相干的进程将同一段物理内存连接到它们各自的地址空间中使得这些进程可以访问同一个物理内存最快 5 信号量共享内存无法保证内存同步可以借助信号量进行同步。PV操作
6.套接字不同机器间通信 进程同步
1.2.4 进程死锁
死锁饥饿 死锁指多个进程在竞争资源或者由于彼此通信造成永久等待的阻塞现象。 饥饿长期得不到资源导致进程无法推进 当资源不足或者进程顺序调度不当就会产生死锁 死锁的4个必要条件 1.互斥使用资源 2.资源不可抢占 3.请求保持条件保持一个资源不释放有请求新资源 4.环路等待资源环路
接触死锁就需要破坏上面4个条件之一即可