A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Solomon 高级黑马   /  2014-5-13 18:55  /  4020 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看多线程的时候突然想问!

8 个回复

倒序浏览
谁告诉你不能了?CPU靠高速的执行和切换可以处理多个进程。或者你的问题应该是,单核的CPU在同一个时刻只能执行一个进程。CPU就是这样设计的。了解单片机原理的就知道CPU处理指令的模式。
回复 使用道具 举报
多核的可以 嘿嘿
回复 使用道具 举报
理论上单核CPU只能在一时间执行一个程序,但是CPU处理数据很快,快到你根本感觉不出来,所以你感官上他是在同时执行多个程序,只是在高速切换多个程序而已. 现在有双核以至四核CPU 那就可以同时执行两个或四个程序,
回复 使用道具 举报
单核cpu在某一时刻只能处理一个进程,但是cpu切换的速度非常之快,
回复 使用道具 举报
其实也没有那么多为什么

CPU最初的设计的时候就是如此,到如今已经是一种规则,
人们,应该说是老美,在寻求不破坏规则的同时寻求突破,所以双核诞生了

有些东西,无法问那么多,
人为什么吃饭啊,还一天吃三次,干嘛不一次就好。

呵呵,我想说的就是,规则性的东西,在没有足够牛叉能力的时候就遵循吧。
回复 使用道具 举报 1 0
其实用最简单的比喻就行了,计算机本来模拟的就是人脑,人脑在某一个固定的时刻也只能思考一件事情,不可能同事思考两件事情
回复 使用道具 举报
这个问题还没发解释,线程CPU执行概念就是这样的、
回复 使用道具 举报
墨香 中级黑马 2014-5-17 23:21:28
9#
对于这个问题,我感觉你应该是概念没有区分开:
进程管理
(1) 进程与程序的区别
程序
进程
是一组有序的指令集,是一个静态的概念;同一个程序可以被几个进程同时执行;程序可以作为一种软件资源长期保存;程序是进程运行的静态文本,没有程序就没有进程。
是程序的一次执行过程,是一个动态的概念;一个进程可以执行一个或几个程序;进程只是一次执行活动,是暂时的。操作系统可以为一个作业创建一个或多个进程。 进程可以并行运行。
(2) 处理机状态:CPU在交替执行操作系统和用户程序时,根据所运行程序对机器指令的使用权限(操作系统可使用特权指令,用户程序只能使用非特权指令),将处理机设置为两种状态:
管理态(又称核心态、管态、特权态):此时程序不受硬件限制,可执行操作系统的全集,可访问全部存储器和寄存器。操作系统一般在此态运行。
用户态(又称目标态、目态、普通态、问题态):由于受硬件的限制,程序只能执行非特权指令,访问有限的存储空间和指定的寄存器。用户程序通常都在此态下运行。
(3)进程的状态
就绪态:指进入内存的进程准备就绪,等待获得CPU的状态(即已具备运行条件,但因CPU被别的进程占用,暂时不能运行)。
系统中处于就绪态的进程可以有多个。
运行态:当一个进程已分配到处理机,它的程序正由处理机执行着的状态。
阻塞态:进程因等待某一件事情(如等待I/O设备)而暂时不能运行的状态,此时即使处理机空闲,进程也无法使用。系统中处于阻塞态(又称封锁态、等待态、睡眠态)的进程也可以有多个。
(4)进程的组成
程序: 描述了进程所要完成的功能。 是进程存在的物质基础。
数据: 是程序加工的对象。
进程控制块PCB:用来描述进程的一切静态和动态的特征,操作系统只能通过它来感知和管理进程。每个进程都有且仅有一个进程控制块。
进程控制块的内容:PCB的具体内容随不同系统而异,一般包括以下信息:
· 进程标识: 唯一地标识进程的名称或代码
· 进程状态: 标识进程是运行态、就绪态或阻塞态
· 进程实体: 指示进程的程序部分和数据部分在存储器中的位置和大小
· 调度信息(优先数): 确定就绪进程转为运行进程的优先级
· 资源信息: 描述内存占用、外设占用等信息
· 现场信息: 包括程序计数器、程序状态字、累加器、变址寄存器的当前值
· 进程通信信息:用于进程间的通信
(5) 进程的特征
动态性:指每个进程都有一个“ 创建→执行→撤消”的生存期,在执行期间会经历一个 “等待→就绪→运行” 的状态变化,是动态地产生和消亡的。
并发性:指系统中可以同时存在多个进程,这些进程可以并地运行,在时间上可以部分地重叠。
异步性:指各个进程在逻辑上是独立的,它们在运行过程中按照各自的、不可预知的速度向前推进。
制约性:指各进程之间可以直接或间接地相互制约。
(6) 进程控制: 指操作系统对全部进程实施有效的管理,进行进程的创建、撤消及更换实体等工作。进程控制是通过原语(primitive)实现的。
(7) 原语: 是由若干条机器指令构成的、完成某一特定功能的程序段,该程序段的执行是不可中断的。常用的进程控制原语主要有以下几种:
创建原语:即根据进程调用者提供的有关程序和数据建立该进程的PCB。
撤消原语:当一个进程完成其任务后,撤消该进程的PCB,同时释放它所占用的所有资源。
阻塞原语:当某进程在运行过程中需要等待某个事件发生时,则由该进程调用阻塞原语把进程从运行状态转为阻塞状态,以便释放它所占用的处理机。
唤醒原语:一个因等待某个事件而处于阻塞态的进程,一旦等待的事件已经发生,就要用唤醒原语将其转为就绪态,以等待分配处理机。
常用的进程控制原语还有:调度进程运行原语、挂起进程原语、解除进程挂起原语、改变进程优先数原语等。
(8) 进程调度算法:是处理器的分配策略,常用的有: 先进先出法(First In First Out)、优先数法(Priority)、轮转调度(Round Robin)、分级调度。

(9) 进程通信: 即在进程之间交换信息,使整个系统有秩序地运行。
1) 低级进程通信:即信号量的P-V操作。信号量是用来表示系统资源物理实体的一种特殊变量,通常用S(整型数)表示;操作系统利用信号量的状态来对进程和资源进行管理。
P操作 P(S)
V操作 V(S)
一般代表当前进程申请某种资源 一般代表当前进程释放所占用的资源
S:=S-1,即每执行一次P操作,S被减1
S:=S+1,即每执行一次V操作,S被加1
若 S≥0该进程继续执行,否则置该进程为“阻塞”状态,并使其在S信号量的队列中等待,直到其它进程在S上执行V操作释放它为止。
若 S> 0该进程继续执行,否则释放S信号量队列中第一个等待者,改变其“阻塞”状态。
2) 高级进程通信:包括消息缓冲通信、管道通信和信箱通信。
2. 作业管理
(1) 基本概念
作 业: 指用户要求计算机进行计算或处理的一个相对独立的任务。
作业步: 指对一个作业进行顺序处理的工作步骤。
作业的状态:
提交状态 用户准备好作业程序、相关数据和作业说明书并提交给系统后备状态 等待运行的作业在等待进入内存和分配处理机的状态运行状态 系统挑选若干作业送入内存并按一定策略使其在处理机上运行完成状态 作业运行结束,系统收回被占资源,并使其退出系统

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马