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

Posted beichen123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程的基础 操作系统 进程的理论相关的知识,希望对你有一定的参考价值。

进程的基础

进程的基础

程序

? 一堆静态的代码文件

进程

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

? 由操作系统操控调用交于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主进程所有的资源,但是会改变一些资源.

进程的状态

技术图片

以上是关于进程的基础 操作系统 进程的理论的主要内容,如果未能解决你的问题,请参考以下文章

python 进程理论基础

网络编程之进程理论简介

107 进程基础

linux网络编程之-----基础理论篇

python进程基础

网编提高 进程阶段