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

进程的基础

进程的基础

程序

? 一堆静态的代码文件

进程

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

? 由操作系统操控调用交于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

时间: 2024-11-10 13:20:05

进程的基础 操作系统 进程的理论的相关文章

操作系统基础-下-进程控制及处理机调度

!:进程的控制和描述 *进程的定义:进程是一个具有独立功能的程序在一个数据集合上的一次动态运行过程(是操作系统进行调度和资源分配的基本单元,进程间的通信.同步及上下文切换的开销略大) *进程的特征(了解) 1.动态性:动态性是相对于程序本身来说的,程序仅仅是存放在硬盘上的代码,而进程是程序在某一特定数据集上的动态运行,所以,动态性是程序的最基本特性 2.并发性:并发性是指在一段时间内,操作系统内有多个进程并发执行 3.独立性:进程之间是相对独立的,每个进程都有可用的内存空间 4.异步性:即进程之

Python基础30_进程

一. 背景知识 进程就是进行中的程序 1. 进程的概念起源于操作系统, 是操作系统最核心的概念, 操作系统的其他所有内容都是围绕进程的概念展开的 操作系统的作用: (1). 隐藏丑陋复杂的硬件接口, 提供良好的抽象接口 (2).管理,调度进程, 并且将多个进程对硬件的竞争变得有序 2. 多道技术: 产生背景: 针对单核, 实现并发 内存中同时存入多道(多个)程序,cpu从一个进程快速切换到另外一个,使每个进程各自运行几十或几百毫秒,这样,虽然在某一个瞬间,一个cpu只能执行一个任务,但在1秒内,

【并发编程必备基础之进程】 -- 2019-08-17 00:04:39

原文: http://blog.gqylpy.com/gqy/236 " 目录 1.操作系统背景知识 2.什么是进程 3.进程调度 4.进程的并行与并发 5.同步异步阻塞非阻塞 6.进程的创建与结束 1.操作系统背景知识 顾名思义,进程即正在执行的一个过程,进程是对正在运行的程序的一个抽象.进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的最重要的抽象概念之一,操作系统的其他所有内容都是围绕进程的概念展开的. 所以想要真正了解进程,应先了解操作系统,点击进入操作系统介绍

【并发编程必备基础之进程】 -- 2019-08-16 23:57:27

原文: http://blog.gqylpy.com/gqy/236 " 目录 1.操作系统背景知识 2.什么是进程 3.进程调度 4.进程的并行与并发 5.同步异步阻塞非阻塞 6.进程的创建与结束 1.操作系统背景知识 顾名思义,进程即正在执行的一个过程,进程是对正在运行的程序的一个抽象.进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的最重要的抽象概念之一,操作系统的其他所有内容都是围绕进程的概念展开的. 所以想要真正了解进程,应先了解操作系统,点击进入操作系统介绍

操作系统 进程(上)

一.什么是并发 并发是什么?很简单,前面介绍的多道批处理系统就是典型的并发执行.这里再次过一遍高性能的多道批处理系统,其本质在于保持对系统资源的占用,CPU运行一个任务,若这个任务中断,如需要IO请求之类的,那么CPU直接去运行其他任务,原任务的IO请求由IO设备自己处理.有一个著名的图--表示并发: 如图,假设计算机有输入.计算.输出这三个部件,一组任务顺序执行,并发就是如图流水线一样的各部件配合.某一时刻,只有一个程序在占用CPU(计算设备).那么什么是并行呢?并行是建立在多核的基础上的,即

Java多线程基础:进程和线程之由来

在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程.当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累.由于并发肯定涉及到多线程,因此在进入并发编程主题之前,我们先来了解一下进程和线程的由来,这对后面对并发编程的理解将会有很大的帮助. 下面是本文的目录大纲: 一.操作系统中为什么会出现进程? 二.为什么会出现线程? 三.多线程并发 若有不正之处,请多多谅解并欢迎指正. 请尊重作者劳动成果,转载请标明原文地址:

[操作系统] 进程与线程

一.进程 进程的引入多个程序在执行时,需要共享系统资源,从而导致各程序在执行过程中出现相互制约的关系,程序的执行表现出间断性的特征. 这些特征都是在程序的执行过程中发生的,是动态的过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其它执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行过程的特征.为了深刻描述程序动态执行过程的性质,人们引入"进程(Process)"概念.

操作系统-进程管理-进程概要

1.进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述,进程是程序的实体. 2.进程的定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed). 3.进程的概念主要有两点:第一,进程是

Linux进程编程基础介绍

Linux系统是一个多进程的系统,它的进程之间具有并行性.互不干扰等特点.也就是说,每个进程都是一个独立的运行单位,拥有各自的权利和责任.其中,各个进程都运行在独立的虚拟地址空间,因此,即使一个进程发生异常,它也不会影响到系统中的其他进程. Linux进程是一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活动状态的计算机程序.进程作为构成系统的基本细胞,不仅是系统内部独立运行的实体,而且是独立竞争资源的基本实体. Linux进程是一个程序的一次执行的过程,同时也是资源分