IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

操作系统-进程管理

IPCPU--网络之路 2015-01-05 23:27:36 累计浏览 3,438 次
本机暂存

操作系统-进程管理

进程的定义

   进程是程序处于一个执行环境中在一个数据集上的运行过程,它是系统进行资源分配和调度的一个可并发执行的独立单位。

   进程是程序的一次执行,该进程可与其它进程并发执行;它是一个动态的实体,在传统的操作系统设计中,进程既是资源的基本分配单元,也是基本的执行单元。

进程与程序的区别和联系

   (1)程序是静态的,进程是动态的。程序是有序代码的集合;进程是程序的一次执行。

   (2)进程是暂时的,程序的永久的。进程是一个变化的过程,有生命周期,暂时存在,程序没有生命周期,可长久保存。

   (3)进程还是操作系统资源分配和保护的基本单位,程序没有此功能。

   (4)进程与程序的对应关系。通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。

   (5)进程与程序的结构不同。

进程的组成

   原图已失效

进程的状态

   三种进程状态切换

   原图已失效

   五种进程状态切换

   原图已失效

   七种进程状态切换

   原图已失效

进程调度

   就是按照一定的算法,从就绪队列中选择某个进程占用CPU的方法——对CPU资源进行合理的分配使用,以提高处理机利用率,并使各进程公平得到处理机资源。

进程调度算法

   1.先到先服务调度 First-Come, First-Served Scheduling (FCFS)

   2.基于优先级调度 Priority Scheduling

   3.最短作业优先调度 Shortest-Job-First Scheduling (SJF)

   4.循环调度 Round-Robin Scheduling (RR)

   5.多层次队列调度 Multilevel Queue Scheduling

进程间的通信(IPC)

   管道(pipe)

   命名管道(named pipe)

   信号(signal)

   消息队列(message queue)

   共享内存(shared memory)

   信号量(semaphore)

   套接字(socket)

线程(thread)

   线程(thread)也叫轻型进程,是一个可执行的实体单元。它代替以往的进程,成为现代操作系统中处理机调度的基本单位。

   原图已失效

   1、线程是进程的一个组成部分,线程由进程创建,因此一个进程中至少存在一个线程,线程还可以创建其它线程。

   2、进程依然是资源分配和保护的基本单位,线程只能在进程的地址空间活动,线程只能使用其所在进程的资源。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. Rolling cURL: PHP并发最佳实践 (累计阅读 11,486)
  2. 浅析C++多线程内存模型 (累计阅读 8,802)
  3. C++ 多线程编程总结 (累计阅读 8,097)
  4. 说说lighttpd的fastcgi (累计阅读 7,320)
  5. 学习:一个并发的Cache (累计阅读 6,100)
  6. osx平台上lol英雄联盟launcher启动器的分析实现 (累计阅读 5,870)
  7. whatsapp深度使用Erlang有感 (累计阅读 5,828)
  8. Linux进程的层次关系 (累计阅读 5,718)
  9. 虚拟内存的作用 (累计阅读 5,453)
  10. Servlet线程安全问题 (累计阅读 5,421)