进程的基础 操作系统 进程的理论

进程的基础

进程的基础

程序

​ 一堆静态的代码文件

进程

​ 一个正在运行的程序进程, 抽象的概念

​ 由操作系统操控调用交于CPU运行 被CPU运行

操作系统

操作系统的基础

​ 管理控制协调计算机中硬件与软件的关系

操作系统的作用

​ 将一些对硬件操作的复杂丑陋的接口, 变成简单美丽的接口

​ 多个进程抢占一个(CPU)资源时, 从操作系统会将你的执行变得合理有序

tip:

​ 阻塞: input read write sleep recv accept sendto recvfrom

操作系统的发展史

​ 最早出现的计算机: 算盘

电子类的计算机发展史:

第一代计算机(1940~1955)

​ 先连接调配各个硬件, 1.5小时, 真空管, 然后在插上程序调试. 效率低.

优点

​ 个人独享整个计算机资源

缺点

​ 硬件调试插线, 耗时

​ 所有人都是串行执行

第二代计算机(1955~1965)

优点

​ 程序员不用亲自对硬件进行插线操控, 效率提高

​ 可以进行批量处理代码

缺点

​ 程序员不能独自使用计算机

​ 你的所有程序还是串行

第三代计算机(1965~1980)

​ 集成电路, 多到程序系统

大背景

​ 集成电路: 把所用的硬件变小, 线路板.

​ 将两套不同的生产线合并成一条生产线

技术上的更新
空间上的复用***

​ 将内存分领域, 一个内存可以同时加载多个进程

时间上的复用***

​ 实现将CPU在多个进程之间来回切换, 并且保留状态

IO阻塞

​ 几乎所有的程序都有IO阻塞

​ 同时加载到内存的三个任务, 三个进程, 每个进程都有阻塞情况, 只要 CPU 运行一个进程时, 遇到IO阻塞立马会切换, 长时间占用 CPU 也会切换

​ 提升效率, 最大限度的使用 CPU. 如果是一个IO密集型进程, 来回切换提升效率, 如果是一个计算密集型, 来回切换降低效率.

特点

​ 第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后, 第三代计算机应用而生

​ 每个人占用计算机的时间有限, 多人(少于10个) 共同使用一个计算机主机

第四代计算机(1980~至今)

进程的理论

​ 串行: 所有的任务一个一个的完成.

​ 并发: 一个CPU完成多个任务. 看起来像是同时完成.

​ 并行: 多个CPU执行多个任务, 真正的同时完成.

​ 阻塞: CPU遇到IO就是阻塞

​ 非阻塞: 没有IO, 就叫非阻塞

进程的有关问题

程序:

​ 一堆静态文件

​ 一个正在执行的程序任务, 一个进程

​ 一个程序能否开启多个进程? 可以

进程的创建

​ 一个子进程必须依赖于一个主进程才可以开启, 一个主进程可以开启多个子进程

unix: fork       创建子进程.
unix(linux,mac)  创建一个子进程会完完全全复制一
个主进程所有的资源,初始资源不变.
windows操作系统调用CreateProcess 处理进程的创建.
windows创建一个子进程,会copy主进程所有的资源,但是会改变一些资源.

进程的状态

原文地址:https://www.cnblogs.com/beichen123/p/11378808.html