幸运28

电子发烧友网 > 嵌入式技术 > 正文

linux内核对进程的管理分为两个方面

2019年04月03日 08:58 次阅读

众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。linux就是这样的一个操作系统。

在linux系统中,每个被运行的程序实例对应一个或多个进程。linux内核需要对这些进程进行管理,以使它们在系统中“同时”运行。linux内核对进程的这种管理分两个方面:进程状态管理,和进程调度。

进程状态

在linux下,通过ps命令我们能够查看到系统中存在的进程,以及它们的状态:

R (TASK_RUNNING),可执行状态。

只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可执行队列中)。进程调度器的任务就是从各个CPU的可执行队列中分别选择一个进程在该CPU上运行。

只要可执行队列不为空,其对应的CPU就不能偷懒,就要执行其中某个进程。一般称此时的CPU“忙碌”。对应的,CPU“空闲”就是指其对应的可执行队列为空,以致于CPU无事可做。

有人问,为什么死循环程序会导致CPU占用高呢?因为死循环程序基本上总是处于TASK_RUNNING状态(进程处于可执行队列中)。除非一些非常极端情况(比如系统内存严重紧缺,导致进程的某些需要使用的页面被换出,并且在页面需要换入时又无法分配到内存……),否则这个进程不会睡眠。所以CPU的可执行队列总是不为空(至少有这么个进程存在),CPU也就不会“空闲”。

很多操作系统教科书将正在CPU上执行的进程定义为RUNNING状态、而将可执行但是尚未被调度执行的进程定义为READY状态,这两种状态在linux下统一为 TASK_RUNNING状态。

S (TASK_INTERRUPTIBLE),可中断的睡眠状态。

处于这个状态的进程因为等待某某事件的发生(比如等待socket连接、等待信号量),而被挂起。这些进程的task_struct结构被放入对应事件的等待队列中。当这些事件发生时(由外部中断触发、或由其他进程触发),对应的等待队列中的一个或多个进程将被唤醒。

通过ps命令我们会看到,幸运28一般情况下,进程列表中的绝大多数进程都处于TASK_INTERRUPTIBLE状态(除非机器的负载很高)。毕竟CPU就这么一两个,进程动辄几十上百个,如果不是绝大多数进程都在睡眠,CPU又怎么响应得过来。

D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。

与TASK_INTERRUPTIBLE状态类似,进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,指的并不是CPU不响应外部硬件的中断,而是指进程不响应异步信号。

绝大多数情况下,进程处在睡眠状态时,总是应该能够响应异步信号的。否则你将惊奇的发现,kill -9竟然杀不死一个正在睡眠的进程了!于是我们也很好理解,为什么ps命令看到的进程几乎不会出现TASK_UNINTERRUPTIBLE状态,而总是TASK_INTERRUPTIBLE状态。

而TASK_UNINTERRUPTIBLE状态存在的意义就在于,内核的某些处理流程是不能被打断的。如果响应异步信号,程序的执行流程中就会被插入一段用于处理异步信号的流程(这个插入的流程可能只存在于内核态,也可能延伸到用户态),于是原有的流程就被中断了。

在进程对某些硬件进行操作时(比如进程调用read系统调用对某个设备文件进行读操作,而read系统调用最终执行到对应设备驱动的代码,并与对应的物理设备进行交互),可能需要使用TASK_UNINTERRUPTIBLE状态对进程进行保护,以避免进程与设备交互的过程被打断,造成设备陷入不可控的状态。(比如read系统调用触发了一次磁盘到用户空间的内存的DMA,如果DMA进行过程中,进程由于响应信号而退出了,那么DMA正在访问的内存可能就要被释放了。)这种情况下的TASK_UNINTERRUPTIBLE状态总是非常短暂的,通过ps命令基本上不可能捕捉到。

linux系统中也存在容易捕捉的TASK_UNINTERRUPTIBLE状态。执行vfork幸运28系统调用后,父进程将进入TASK_UNINTERRUPTIBLE状态,直到子进程调用exit或exec。

通过下面的代码就能得到处于TASK_UNINTERRUPTIBLE状态的进程:

#include

void main幸运28() {

if (!vfork()) sleep(100);

}

编译运行,幸运28然后ps一下:

kouu@kouu-one:~/test$ ps -ax | grep a\.out

4371 pts/0 D+ 0:00 。/a.out

4372 pts/0 S+ 0:00 。/a.out

4374 pts/1 S+ 0:00 grep a.out

然后我们可以试验一下TASK_UNINTERRUPTIBLE状态的威力。不管kill还是kill -9,这个TASK_UNINTERRUPTIBLE状态的父进程依然屹立不倒。

T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态。

向进程发送一个SIGSTOP信号,它就会因响应该信号而进入TASK_STOPPED状态(除非该进程本身处于TASK_UNINTERRUPTIBLE状态而不响应信号)。(SIGSTOP与SIGKILL信号一样,是非常强制的。不允许用户进程通过signal系列的系统调用重新设置对应的信号处理函数。)

向进程发送一个SIGCONT信号,可以让其从TASK_STOPPED状态恢复到TASK_RUNNING状态。

当进程正在被跟踪时,它处于TASK_TRACED这个特殊的状态。“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。比如在gdb中对被跟踪的进程下一个断点,进程在断点处停下来的时候就处于TASK_TRACED状态。而在其他时候,被跟踪的进程还是处于前面提到的那些状态。

对于进程本身来说,TASK_STOPPED和TASK_TRACED状态很类似,都是表示进程暂停下来。

而TASK_TRACED状态相当于在TASK_STOPPED之上多了一层保护,处于TASK_TRACED状态的进程不能响应SIGCONT信号而被唤醒。只能等到调试进程通过ptrace系统调用执行PTRACE_CONT、PTRACE_DETACH等操作(通过ptrace系统调用的参数指定操作),或调试进程退出,被调试的进程才能恢复TASK_RUNNING状态。

Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程。

进程在退出的过程中,处于TASK_DEAD状态。

在这个退出过程中,进程占有的所有资源将被回收,除了task_struct结构(以及少数资源)以外。于是进程就只剩下task_struct这么个空壳,故称为僵尸。

之所以保留task_struct,是因为task_struct里面保存了进程的退出码、以及一些统计信息。而其父进程很可能会关心这些信息。比如在shell中,$?变量就保存了最后一个退出的前台进程的退出码,而这个退出码往往被作为if语句的判断条件。

当然,内核也可以将这些信息保存在别的地方,而将task_struct结构释放掉,以节省一些空间。但是使用task_struct结构更为方便,因为在内核中已经建立了从pid到task_struct查找关系,还有进程间的父子关系。释放掉task_struct,则需要建立一些新的数据结构,以便让父进程找到它的子进程的退幸运28出信息。

幸运28 父进程可以通过wait系列的系统调用(如wait4、waitid)来等待某个或某些子进程的退出,并获取它的退出信息。然后wait系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉。

子进程在退出的过程中,内核会给其父进程发送一个信号,通知父进程来“收尸”。这个信号默认是SIGCHLD,但是在通过clone系统调用创建子进程时,可以设置这个信号。

通过下面的代码能够制造一个EXIT_ZOMBIE状态的进程:

#include

void main() {

if (fork())

while(1) sleep幸运28(100);

}

编译运行,然后ps一下:

kouu@kouu-one:~/test$ ps -ax | grep a\.out

10410 pts/0 S+ 0:00 。/a.out

10411 pts/0 Z+ 0:00 [a.out]

10413 pts/1 S+ 0:00 grep a.out

只要父进程不退出,这个僵尸状态的子进程就一直存在。那么如果父进程退出了呢,谁又来给子进程“收尸”?

当进程退出的时候,会将它的所有子进程都托管给别的进程(使之成为别的进程的子进程)。托管给谁呢?可能是退出进程所在进程组的下一个进程(如果存在的话),或者是1号进程。所以每个进程、每时每刻都有父进程存在。除非它是1号进程。

1号进程,pid为1的进程,又称init进程。

linux系统启动后,第一个被创建的用户态进程就是init进程。它有两项使命:

1、执行系统初始化脚本,创建一系列的进程(它们都是init进程的子孙);

2、在一个死循环中等待其子进程的退出事件,并调用waitid系统调用来完成“收尸”工作;

init进程不会被暂停、也不会被杀死(这是由内核来保证的)。它在等待子进程退出的过程中处于TASK_INTERRUPTIBLE状态,“收尸”过程中则处于TASK_RUNNING状态。

X (TASK_DEAD - EXIT_DEAD),退出状态,进程即将被销毁。

而进程在退出过程中也可能不会保留它的task_struct。比如这个进程是多线程程序中被detach过的进程。或者父进程通过设置SIGCHLD信号的handler为SIG_IGN,显式的忽略了SIGCHLD信号。(这是posix的规定,尽管子进程的退出信号可以被设置为SIGCHLD以外的其他信号。)

此时,进程将被置于EXIT_DEAD退出状态,这意味着接下来的代码立即就会将该进程彻底释放。所以EXIT_DEAD状态是非常短暂的,几乎不可能通过ps命令捕捉到。

进程的初始状态

进程是通过fork系列的系统调用(fork、clone、vfork)来创建的,内核(或内核模块)也可以通过kernel_thread函数创建内核进程。这些创建子进程的函数本质上都完成了相同的功能——将调用进程复制一份,得到子进程。(可以通过选项参数来决定各种资源是共享、还是私有。)

那么既然调用进程处于TASK_RUNNING状态(否则,它若不是正在运行,又怎么进行调用?),则子进程默认也处于TASK_RUNNING状态。

另外,在系统调用调用clone和内核函数kernel_thread也接受CLONE_STOPPED选项,从而将子进程的初始状态置为 TASK_STOPPED。

幸运28进程状态变迁

进程自创建以后,状态可能发生一系列的变化,直到进程退出。而尽管进程状态有好几种,但是进程状态的变迁却只有两个方向——从TASK_RUNNING状态变为非TASK_RUNNING状态、或者从非TASK_RUNNING状态变为TASK_RUNNING状态。

也就是说,如果给一个TASK_INTERRUPTIBLE状态的进程发送SIGKILL信号,这个进程将先被唤醒(进入TASK_RUNNING状态),然后再响应SIGKILL信号而退出(变为TASK_DEAD状态)。并不会从TASK_INTERRUPTIBLE状态直接退出。

linux内核对进程的管理分为两个方面

进程从非TASK_RUNNING状态变为TASK_RUNNING状态,是由别的进程(也可能是中断处理程序)执行唤醒操作来实现的。执行唤醒的进程设置被唤醒进程的状态为TASK_RUNNING,然后将其task_struct结构加入到某个CPU的可执行队列中。于是被唤醒的进程将有机会被调度执行。

而进程从TASK_RUNNING状态变为非TASK_RUNNING状态,则有两种途径:

1、响应信号而进入TASK_STOPED状态、或TASK_DEAD状态;

2、执行系统调用主动进入TASK_INTERRUPTIBLE状态(如nanosleep系统调用)、或TASK_DEAD状态(如exit系统调用);或由于执行系统调用需要的资源得不到满足,而进入TASK_INTERRUPTIBLE状态或TASK_UNINTERRUPTIBLE状态(如select系统调用)。

显然,这两种情况都只能发生在进程正在CPU上执行的情况下。

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

轻松学Linux系列课程之Linux基础

课程从0幸运28开始,讲到云计算结束,按阶段授课,从入门到跑路,适合初学者,也适合定制,需要哪个模块学哪个模块2,包含初级运维工

发烧友学院 发表于 2018-07-24 00:00 1幸运285809次阅读
轻松学Linux系列课程之Linux基础

处理器频率越高越好吗

CPU处理器作为电脑最核心的硬件,大家在买CPU的时候,一般都是看CPU主频、核心数等参数。现在问题...

发表于 2019-04-02 14:58 92次阅读
处理器频率越高越好吗

关于嵌入式Linux系统中的BSP浅析

嵌入式系统由硬件环境、嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随...

发表于 2019-04-02 14:42 32次阅读
关于嵌入式Linux系统中的BSP浅析

linux文件系统中的虚拟文件系统设计详解

Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文...

发表于 2019-04-02 14:37 28次阅读
linux文件系统中的虚拟文件系统设计详解

大家好,非常紧急需要求一份linux版本的labview安装包,能有镜像iso文件就行。labview需要2015及以下版本的,谢谢大家

发表于 2019-04-02 14:05 61次阅读
大家好,非常紧急需要求一份linux版本的labview安装包,能有镜像iso文件就行。labview需要2015及以下版本的,谢谢大家

如何安装Vivado linux版本?

发表于 2019-04-02 13:40 13次阅读
如何安装Vivado linux版本?

如何掌握特定的单片机使用方法,并开发出高质量的单...

先不去解释总线的总类与它们的工作原理,也不去解释设备的工作原理,做个比方:CPU好比大脑,设备就好比...

发表于 2019-04-02 13:35 120次阅读
如何掌握特定的单片机使用方法,并开发出高质量的单...

什么是用于为nvm_sdcard_fat_multidisk生成FAT映像的SYS FS配置实用程序

发表于 2019-04幸运28-02 11:27 14次阅读
什么是用于为nvm_sdcard_fat_multidisk生成FAT映像的SYS FS配置实用程序

怎么从pic16F1459升级到pic18F25K50

发表于 2019-04-02 10:11 11次阅读
怎么从pic16F1459升级到pic18F25K50

FX3中的批量模式Burstsize和dma缓冲区有什么关系

发表于 2019-04-02 08:39 86次阅读
FX3中的批量模式Burstsize和dma缓冲区有什么关系

基于linux的CentOS启动后网络配置脚本调用

发表于 2019-04-01 16:13 14次阅读
基于linux的CentOS启动后网络配置脚本调用

linux input子系统的input core、input drivers和event handles

发表于 2019-04-01 16:06 13次阅读
linux input子系统的input core、input drivers和event handles

基于linux环境下的es-head-kibana-xpack搭建

发表于 2019-04-01 08:01 12次阅读
基于linux环境下的es-head-kibana-xpack搭建

请问在linux环境下怎么烧写代码?

发表于 2019-04-01 05:04 57次阅读
请问在linux环境下怎么烧写代码?

Linux教程之Linux常用命令大全

Linux教程之Linux常用命令大全

发表于 2019-03-30 10:34 266次阅读
Linux教程之Linux常用命令大全

176条DevOps人员常用的linux命令幸运28速查...

本文档详细介绍的是176条DevOps人员幸运28常用的linux命令速查表资料合集

发表于 2019-03-30 10:17 228次阅读
176条DevOps人员常用的linux命令速查...

负载均衡技术的原理和分类及算法的详细资料概述

面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服...

发表于 2019-03-30 09:49 306次阅读
负载均衡技术的原理和分类及算法的详细资料概述

Linux学习书籍推荐Linux就该这么学

书籍内容基于主流 Linux 系统编写,全幸运28书总共20个章节,16开本超400页,通用于RHEL、Ce...

发表于 2019-03-30 09:41 187次阅读
Linux学习书籍推荐Linux就该这么学

Arch Linux将要吧zstd作为默认压缩算...

过去几周,Arch Linux 维护人员比较了不同的压缩算法,最终计划使用 zstd 取代 devt...

发表于 2019-03-30 09:28 235次阅读
Arch Linux将要吧zstd作为默认压缩算...

为什么英特尔不做智能手机CPU

Intel处理器是x86架构,特点是基于复杂指令集,可以做到很高性能,但缺点是功耗和发热量会很大,无...

发表于 2019-03-28 16:11 545次阅读
为什么英特尔不做智能手机CPU

英特尔推出一款一键超频软件 超频变得异常简单

是什么原因造成了MMORPG游戏的卡顿?游戏的3D场景建模,AI以及物理运算,大量的数据传输以及伤害...

发表于 2019-03-28 15:10 204次阅读
英特尔推出一款一键超频软件 超频变得异常简单

硬件与软件接口如何与CPU交互

从寄存器位到访问类型、属性和功能的各种因素的数量,在现代SoC中可能是绝对令人吃惊的。 例如,如果有...

发表于 2019-03幸运28-28 11:43 91次阅读
硬件与软件接口如何与CPU交互

CPU的主频和核心数

发表于 2019-03-28 10:32 137次阅读
CPU的主频和核心数

那些 Linux Shell的小技巧,大大提升机...

在机器学习的实践过程中,用好Shell能帮你很多节省时间。

发表于 2019-03-27 16:46 284次阅读
那些 Linux Shell的小技巧,大大提升机...

为什么CPU不能做一个超强单核

CPU的的单核性能有多重要,这个不用再重复了,但是CPU的单核性能可以无限增加下去吗?回答这个问题之...

发表于 2019-03-27 15:44 189次阅读
为什么CPU不能做一个超强单核

英特尔成立CXL联盟或牵制英伟达发展动能 角力恐...

随着英伟达确定收购Mellanox,英特尔官方几乎在同一时间宣布成立CXL (Computing E...

发表于 2019-03-26 17:15 265次阅读
英特尔成立CXL联盟或牵制英伟达发展动能 角力恐...

英特尔CPU型号字母解密

英特尔是美国一家主要以研制CPU处理器的公司,是全球最大的个人计算机零件和CPU制造商,它成立于19...

发表于 2019-03幸运28-26 16:58 463次阅读
英特尔CPU型号字母解密

LPC5500双核基本架构!LPC5500双核面...

图中所示:红色框是多层AHB矩阵总线;绿色框是多块分立的存储块。主CPU和从CPU的代码数据可存放在...

发表于 2019-03-26 16:30 388次阅读
LPC5500双核基本架构!LPC5500双核面...

运维工程师的四个阶段

Linux系统目前主要应用在企业服务器上,学习Linux,更多的是向Linux系统/运维工程师方向进...

发表于 2019-03-26 16:22 220次阅读
运维工程师的四个阶段

OPPO在成都正式发布了ColorOS 6正幸运28式版...

在设计上,ColorOS 6提出了“无边界”的设计理念。“无边界”设计理念采用了轻量与淡雅的颜色,利...

发表于 2019-03-26 16:20 941次阅读
OPPO在成都正式发布了ColorOS 6正式版...

IBM 豪赌微内核,开发下一代操作系统

IBM早在20世纪90年代豪赌微内核,看好幸运28它是操作系统领域的下一大技术,为此不惜耗费数十亿美元,最后...

发表于 2019-03-26 11:31 332次阅读
IBM 豪赌微内核,开发下一代操作系统

蓝碧石开发出配备蓝碧石独有的16位CPU内核的通...

由于微控制器是控制外围元器件的器件,通过微控制器的定期故障诊断,可尽早发现外围元器件的故障并规避风险...

发表于 2019-03-25 16:00 1104次阅读
蓝碧石开发出配备蓝碧石独有的16位CPU内核的通...

谷歌正式发布了自家全新游戏平台——GoogleS...

在兼容性方面,Stadia云游戏平台可以在任何带有屏幕的设备上运行,其在正式发布后将支持PC、电视、...

发表于 2019-03幸运28-25 10:29 382次阅读
谷歌正式发布了自家全新游戏平台——GoogleS...

CPU怎样超频

现在的电脑配件一天一个价,今天三千多买的9900K可能明天就掉到2999了。想升级电脑就要花更多的钱...

发表于 2019-03-25 08:49 116次阅读
CPU怎样超频

从上到下的系统架构分析方法Intel PMU的详...

现代 CPU 大多具有性能监控单元(Performance Monitoring Unit, PMU...

发表于 2019-03-24 09:55 549次阅读
从上到下的系统架构分析方法Intel PMU的详...

Linux内存管理的细节虚拟内存和内存分页管理资...

内存是计算机的主存储器。内存为进程开辟出进程空间,让进程在其中保存数据。我将从内存的物理特性出发,深...

发表于 2019-03-24 09:16 447次阅读
Linux内存管理的细节虚拟内存和内存分页管理资...

PLC由哪几部分组成

PLC由CPU、电源、输入电路、输出电路、存储器和通信接口电路几大部分组成如图所示.

发表于 2019-03幸运28-23 07:36 455次阅读
PLC由哪几部分组成

IBM:将以Z和LinuxONE为基点构建硬件生...

云计算的到来让许多人对底层的基础架构产生了‘误解’,认为在云时代企业将不再需要硬件。事实恰恰相反,尤...

发表于 2019-03-22 17:14 510次阅读
IBM:将以Z和LinuxONE为基点构建硬件生...

基于嵌入式Linux网络计算机的操作系统的实现方...

操作系统技术包含服务器和客户机操作系统两套技术,目前支持瘦客户机计算的服务器技术主要是VNC、Cit...

发表于 2019-03-22 16:27 98次阅读
基于嵌入式Linux网络计算机的操作系统的实现方...

RTX刀片服务器实现云渲染密度、效率及可扩展性的...

NVIDIA RTX服务器包括全面优化的软件堆栈,可用于Optix RTX渲染、游戏、VR和AR、以...

发表于 2019-03-22 15:28 502次阅读
RTX刀片服务器实现云渲染密度、效率及可扩展性的...

SUSE已经完成与投资公司EQT之间的交易,成为...

SUSE 创办于 1992 年,是全球首家企业级开源 Linux 操作系统供应商。1994 年,他们...

发表于 2019-03-22 11:46 297次阅读
SUSE已经完成与投资公司EQT之间的交易,成为...

芯闻3分钟:加速寻求“后半导体”业务,SK集团再...

据消息,IDC的一份新报告预测,包括传统PC和平板电脑在内的全球个人计算设备(PCD)市场今年将出现...

发表于 2019-03-21 10:35 525次阅读
芯闻3分钟:加速寻求“后半导体”业务,SK集团再...

专访任正非:美国不卖CPU给我们怎么办?

近期华为创始人任正非频繁接受了外媒的采访,阐明了华为的立场以及对美国的态度。

发表于 2019-03幸运28-21 09:21 567次阅读
专访任正非:美国不卖CPU给我们怎么办?

AMD表示未来10年硅仍然是CPU最好的朋友 3...

近日,AMD数据中心高级副总裁Forrest Norrod近日在Rice Oil and Gas H...

发表于 2019-03-20 14:10 304次阅读
AMD表示未来10年硅仍然是CPU最好的朋友 3...

第二季NB出货充满变量 后续变化仍需持续观察

原本品牌厂、ODM 厂以及市场共识认为 CPU 缺货情况第二季将能纾解,不过目前已经在第一季尾声,将...

发表于 2019-03-19 16:43 261次阅读
第二季NB出货充满变量 后续变化仍需持续观察

如何在Linux上打游幸运28戏

以前在上面的系统上,手机上的游戏基本是不可以玩的,好在如今出来了一个模拟器,安装了它就可以玩大部分的...

发表于 2019-03-19 15:40 199次阅读
如何在Linux上打游戏

专访:x86芯片自主可控之路上,做出的努力

兆芯技术团队对x86 CPU的设计研发技术已经实现了消化吸收和再创新,拥有了自身的技术积累。兆芯国产...

发表于 2019-03-19 15:21 682次阅读
专访:x86芯片自主可控之路上,做出的努力

一名linux驱动工程师的经历

说了好多好多,有的时候后悔离开北京来到这里幸运28,北京的机会真的是太多太多了,或者上海。既然安顿了,就继续...

发表于 2019-03-19 10:24 451次阅读
一名linux驱动工程师的经历

非接触式CPU卡的空中传输协议的软硬件设计

如Mifare1卡(即M1卡),由非易失性存储器和硬件加密逻辑组成,通过校验密码的方式来保护卡内的数...

发表于 2019-03-18 09:56 49次阅读
非接触式CPU卡的空中传输协议的软硬件设计

PLC可能存在的九种问题和解决方法详细说明

一般来说,PLC是极其可靠的设备,出故障率很低。PLC的CPU等硬件损坏或软件运行出错的概率几乎为零...

发表于 2019-03-17 09:26 377次阅读
PLC可能存在的九种问题和解决方法详细说明

Intel和AMD有哪些经典CPU

Intel和AMD已经对着干几十年了,两家经典的CPU实在太多了,其实在不同年代有不同的经典产品,太...

发表于 2019-03-16 09:47 187次阅读
Intel和AMD有哪些经典CPU

CPU必须用散热硅脂的意义

电脑组装过程中很多细节十分重要,比如为CPU涂抹硅脂,看似十分简单,但是错误的涂抹散热硅脂,可能会对...

发表于 2019-03-15 14:20 326次阅读
CPU必须用散热硅脂的意义

新标准Compute Express Link1...

阿里巴巴,思科,戴尔EMC,Facebook,谷歌,HPE,华为,英特尔公司和微软合作推出新的Com...

发表于 2019-03-15 10:33 468次阅读
新标准Compute Express Link1...

2Q19英特尔CPU缺货问题加剧 AMD公司股价...

即便英特尔(Intel)已表示,2019年下半新建的14纳米厂房将能提供足够支应市场需求的产能,但X...

发表于 2019-03-15 10:12 3033次阅读
2Q19英特尔CPU缺货问题加剧 AMD公司股价...

主机电源怎么选

相信很多DIY爱好者,在组装电脑时只注重CPU、显卡,往往忽视电源,其实电源作为电脑的给各个部件提供...

发表于 2019-03-13 14:48 622次阅读
主机电源怎么选

电脑主机结构

从外边看,主机就是一个扁扁方方的铁盒子,但很多朋友确没有真正了解过它内部到底是什么样子的,越是看不着...

发表于 2019-03-13 14:38 364次阅读
电脑主机结构

电脑硬盘有什么作用

硬盘是主要的电脑存储媒介,硬盘相当于计算机的仓库,操作系统、安装的软件,还有文档、资料等等,都是以数...

发表于 2019-03-12 15:32 267次阅读
电脑硬盘有什么作用

奇趣科技推出一款基于嵌入式linux的面向单一应...

奇趣科技公司日前推出了一款基于嵌入式linux的面向单一应用嵌入式产品的开发平台qtopiacore...

发表于 2019-03-11 15:03 303次阅读
奇趣科技推出一款基于嵌入式linux的面向单一应...

浅析I²C总线设计的关键事项

对于硬件工程师,I²C再熟悉不过了,两根线,一根数据SDA一根时钟SCL。当时在使用avr CPU设...

发表于 2019-03-10 10:39 164次阅读
浅析I²C总线设计的关键事项

AI的发展资料总结发展进程梳理总结和展望的资料说...

当下的人工智能发展到了哪一步?未来又会怎样发展?本文作者对过去几年的 AI 发展进行了梳理总结,并对...

发表于 2019-03-09 11:00 899次阅读
AI的发展资料总结发展进程梳理总结和展望的资料说...

存储的国产化替代刻不容缓

2018年年初,中兴事件发生,敲响我国核心幸运28科技的警钟。一时间,一场关于国产化芯片的讨论就此展开。多位...

发表于 2019-03-09 09:50 347次阅读
存储的国产化替代刻不容缓

北京君正集成电路拥有全球领先的32位嵌入式C幸运28PU...

据北京君正2018年半年报显示,去年公司产品在物联网和智能视频等领域的销售收入持续增长,上半年实现营...

发表于 2019-03-08 14:40 1446次阅读
北京君正集成电路拥有全球领先的32位嵌入式CPU...

DRAM产业供过于求加剧下,大部分交易已改为月结...

SK 海力士日前宣布将斥资 120 兆韩元(约 1,070 亿美元)兴建 4 座晶圆厂,针对既有的 ...

发表于 2019-03-07 15:58 867次阅读
DRAM产业供过于求加剧下,大部分交易已改为月结...

继“幽灵”之后,英特尔处理器再曝致命漏洞

AMD反而没事

发表于 2019-03-07 13:53 680次阅读
继“幽灵”之后,英特尔处理器再曝致命漏洞

一位Linux驱动工程师的面试经历

首先,我要说的是,就业成功最关键的因素在于扎实的基础,很宽的知识面,丰富的实践经验。这些都是,工作学...

发表于 2019-03-07 11:51 757次阅读
一位Linux驱动工程师的面试经历

Linux嵌入式操作系统在嵌入式系统中的应用才刚...

操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外...

发表于 2019-03-06 14:41 292次阅读
Linux嵌入式操作系统在嵌入式系统中的应用才刚...

英特尔CPU再曝高危漏洞:可泄露私密数据 暂无法...

3月6日早间消息,据外媒报道,美国伍斯特理工学院研究人员在英特尔处理器中发现一个高危漏洞名为Spoi...

发表于 2019-03幸运28-06 09:39 272次阅读
英特尔CPU再曝高危漏洞:可泄露私密数据 暂无法...

因页面太丑被吐槽,Linux Mint 官网决定...

Linux Mint 虽好,但是它的官网一直被吐槽设计得太糟糕。

发表于 2019-03-05 15:52 268次阅读
因页面太丑被吐槽,Linux Mint 官网决定...

中国操作系统有哪些

本视频主要详细介绍了中国操作系统有哪些,分别是SPG思普操作系统[简称SPGnux]、深度Linux...

发表于 2019-03-04 14:00 289次阅读
中国操作系统有哪些

为什么黑客都用linux

本文主要详细介绍了为什么黑客都用linux,分别有黑客不给自己开发的功能加上图形界面、欧美国家的Li...

发表于 2019-03-04 13:57 446次阅读
为什么黑客都用linux

单片机中的堆栈详细资料说明

因为单片机有CPU、存储器、IO等等,使他(人性化一点以配合下文)看起来就像一个比较小的计算机,所以...

发表于 2019-03-03 11:24 567次阅读
单片机中的堆栈详细资料说明

TMS320VC5501 定点数字信号处理器

TMS320VC5501(5501)定点数字信号处理器(DSP)基于TMS320C55x™DSP生成CPU处理器内核。 C55x™DSP架构通过增加并行性和全面关注降低功耗来实现高性能和低功耗。 CPU支持内部总线结构,该结构由一个程序总线,三个数据读总线,两个数据写总线以及专用于外设和DMA活动的附加总线组成。这些总线能够在一个周期内执行最多三次数据读取和两次数据写入。并行,DMA控制器可以独立于CPU活动执行数据传输。 C55x™CPU提供两个乘法累加(MAC)单元,每个单元能够进行17位×17位乘法运算。单循环幸运28。额外的16位ALU支持中央40位算术/逻辑单元(ALU)。 ALU的使用受指令集控制,提供优化并行活动和功耗的能力。这些资源在C55x CPU的地址单元(AU)和数据单元(DU)中进行管理。 C55x DSP代支持可变字节宽度指令集,以提高代码密度。指令单元(IU)从内部或外部存储器执行32位程序提取,并为程序单元(PU)排队指令。程序单元解码指令,将任务指向AU和DU资源,并管理完全受保护的管道。预测分支功能可避免执行条件指令时的管道刷新。 5501外设...

发表于 2018-10-09 14:55 87次阅读
TMS320VC5501 定点数字信号处理器

AM4379 AM437x ARM Cortex...

TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...

发表于 2018-09-25 11:51 66次阅读
AM4379 AM437x ARM Cortex...
国民彩票App | 盛大彩票网址 | 幸运28规律 | 好运快3遗漏 | 5分快3外挂 | 台湾宾果彩票 | 2分六合开奖 | 盛源彩票网址 | 万国彩票App | 永旺直播网址 | 美娱彩票注册 | 678彩票网址 | 728彩票网址 | 顺丰彩票App | 2分pk10大小 | 2分彩规律 | 手机购彩网址 | 乐购彩票App | 百乐彩注册 | 淘彩网App