linux
文章平均质量分 75
魔动山霸
欢迎多多交流嵌入式
展开
-
嵌入式相关开源项目、库、资料(转发)
嵌入式相关开源项目、库、资料------持续更新中学习初期最难找的就是找学习资料了,本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目、物联网、操作系统、Linux等资源,并且在不断地更新中,致力于打造全网最全的嵌入式资料库。有好的嵌入式相关资源的朋友欢迎做贡献,利人利己。收录公开资料仅为了方便大家进行学习。如果你认为本仓库的一些文件侵犯了您的权益,请 向我反馈 。我将会从仓库中彻底清除这些文件。以下为最新资料汇总:1、OS鸿蒙OS: 一款面向全场景的开源分布式操作系统。原创 2022-05-10 19:57:06 · 799 阅读 · 0 评论 -
树莓派数据手册(BCM2835)GPIO剖析
树莓派简介Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) [1] 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。 [2] 随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。 [3]自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“芯”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。 [4]1.资源介绍BCM2835包含下面的外围原创 2021-11-23 11:01:29 · 1920 阅读 · 1 评论 -
Linux下串口的编程使用
Linux发烧友Linux下串口的使用串口对应的API1.引脚号的设置2.打开串口3.串口的设置4.向串口发送一个字符5.向串口接收一个字符6.关闭串口Linux下串口的使用一般我们使用串口有两种方式,一是自己编写驱动程序通过操作寄存器的方式,然后编译进Linux中供应用层调用,二是直接使用Linux提供的设备系统来进行编程,绝大多数的人都采取第二种方式,,他是基于TTY的驱动程序框架来进行编程串口对应的API在Linux系统中,操作设备的统一接口就是:open/ioctl/read/write。原创 2021-11-14 19:09:22 · 2265 阅读 · 7 评论 -
详细剖析Linux和RTOS(RT-Thread)的时钟和定时器的使用
Linux发烧友1.RTOS篇1.1RT-Thread简介1.2时钟管理1.2.1时钟节拍1.3获取系统节拍1.4定时器分类1.5定时器源码分析1.6定时器相关函数1.61动态创建一个定时器和删除定时器1.7初始化和脱离定时器1.8启动和停止定时器1.9高精度延时1.10实战篇:RTOS定时器代码演示2Linux篇2.1Linux简介2.2Linux定时器机制2.3alarm类定时器2.4进程接收到信号后的处理方式2.5实战篇1:alarm定时器代码演示2.6setitimer定时器的设置2.7实战篇2:s原创 2021-11-14 17:00:09 · 2431 阅读 · 3 评论 -
一起剖析Linux和RTOS的线程机制
文章目录????1.Linux线程篇????1.1Linux简介????1.2线程和进程的比较????1.3线程工作机制????1.3.1创建线程????1.3.2线程等待????1.3.3线程的分离????1.3.4线程的退出????1.3.5线程的取消????1.4线程池的概念????1.5实战篇:Linux线程代码演示????2.RTOS线程篇????2.1RT-Thread简介????2.2线程管理的特点????2.3线程工作机制????2.3.1线程控制块 struct rt_thread????原创 2021-11-13 21:41:21 · 1586 阅读 · 10 评论 -
内核的移植
环境介绍1、 kernel环境: linux-3.4.1102、 ext4文件系统源码包3、 交叉编译器 arm-linux-4.3.2二、修改编译内核.解压 linux-3.4.110源码包,可以从Linux官网上下载,对应的是你自己内核的版本修改内核根目录下的makefile文件,修改成下面信息修改板子的支持复制原内核(kernel-3.4.39) arch/arm 下的(palt-s5p6818 和 mach-s5p6818)两个文件夹到新内核(kernel-3.4.110)对原创 2021-11-11 15:48:15 · 1847 阅读 · 0 评论 -
超级详细讲解根文件系统rootfs的制作
文章目录????1 下载工具☕2 构建目录????3 使用busybox4 ????补全lib库5 ????生成etc配置文件6 ????修改 etc/init.d/rcS 文件????6.1.根据 fstab 配置文件挂载相应的文件系统????6.2.配置 telnetd 服务器的时候需要以下文件夹及文件系统????6.3.启动需要以下文件夹????6.4.在 lib 下创建相应文件夹(与当前内核版本相同),为驱动模块加载作准备????6.5.自动在/dev 下创建设备节点????7 修改 etc/fst原创 2021-11-10 19:21:42 · 9362 阅读 · 6 评论 -
嵌入式系统裸机程序开发与调试
文章目录????1.GUN工具的使用????1.1符号显示器nm????1.2objdump:信息查看器????1.3objcopy:段剪辑器⚡️2.程序编译过程♐2.1程序链接过程2.2指定头文件????2.3 指定库文件⌛3.裸机开发流程????1.GUN工具的使用GUN是一个开源的组织,给我们带来了很多开源软件和编译工具,如我们常用的C编译器 :gcc预处理器 :cppC++编译器 g++汇编器 :as链接器 :ld二进制工具集 :objcopy二进制工具集的含义:他们专门用于控制原创 2021-11-08 16:23:49 · 2697 阅读 · 3 评论 -
嵌入式系统的开发概述(三星s5p6818系统为例)
文章目录♐1.嵌入式系统的组成☕2.S5p6818系统资源介绍????3.s5p6818试验仪????4.s5p6818寻址空间♐1.嵌入式系统的组成==嵌入式系统可以分为软件层和硬件层软件层又可以分为应用层,os层,驱动层应用层:应用程序/文件系统,交互界面等os层:操作系统/windows,Linux等,嵌入式系统多为Linux驱动层:设备驱动,HAL,BSP硬件层硬件层可以理解为都是一些实体的硬件设备几乎所有的嵌入式系统都会有处理器,MMU./Cache虚拟内存设备管理,和内存,片上原创 2021-11-08 10:13:07 · 2563 阅读 · 7 评论 -
Linux下输入系统编程,随手笔记,有点乱
这是触摸屏点击的信息定义一个结构体 用来存储以下信息:struct input_id id;可以获得版本号啥的,对应上图的Istruct input_id { __u16 bustype; __u16 vendor; __u16 product; __u16 version;};使用ioctl把信息从驱动程序里面存到指定的idiotcl(fd,EVIOCGID,&id)EVIOCGID信息如下,其实就是一个宏,对应IOR(‘E’, 0x02, struct input_id..原创 2021-11-03 14:20:01 · 286 阅读 · 0 评论 -
Framebuffer编程总结,希望人人都能学会
????Linux发烧友????0.FrameBuffer的引入☕1.LCD如何显示的原理⌛2.如何修改LCD指定的像素呢♐3.获取framebuffer基地址????4.像素绝对地址的计算????5.像素的颜色的表示????6,LCD参数的获取????7.设备的打开????8.framebuffer完整代码演示????0.FrameBuffer的引入FrameBuffer是出现在 2.2.xx 内核当中的一种驱动程序接口。在Linux系统中通过Framebuffer驱动程序来控制LCD。Frame是帧原创 2021-11-02 22:24:48 · 3038 阅读 · 5 评论 -
Linux下的内核线程threaded irq机制分析与应用
⭐Linux发烧友????threaded irq的引入☁️使用哪一个中断函数⌛内核机制实现♐编程要点分析????完整驱动代码演示????基础应用层代码演示????threaded irq的引入我们知道,工作队列可以用来处理中断的一些耗时的事情,但是他又一个缺点,就是如果有多个事件同时放入工作队列中,如果前面的事件处理得太久,那么就会影响到后面的事件的执行,因为内核线程事一个个依次执行的,如果一个事件真的非常耗时间,那么我们可以用 threaded irq来处理,大概意思就是中断上半部不变,中断的下半原创 2021-11-02 17:57:49 · 1188 阅读 · 6 评论 -
Linux内核下的工作队列workqueue应用与扩展
这里写自定义目录标题⌚1.工作队列的引入????2.如何使用工作队列????2.1把一个函数放入工作队列中????2.2工作队列常用的函数合集????开发流程讲解????完整驱动代码演示⌚1.工作队列的引入我们平常在使用定时器或者下半部tasklet时都是通过中断的上下文来执行,我们知道中断是无法休眠的,如果休眠了就没有人来调用相应的函数了。如果一个事件非常的耗时,会让系统变得很卡,这时可以通过内核线程来解决,因为线程可以休眠,在内核中线程的创建可以使用工作队列(workqueue),当有一个你想要执行原创 2021-11-02 16:56:01 · 631 阅读 · 8 评论 -
Linux内核中断(上半部和下半部tasklet)
文章目录????中断的概念????中断下半部tasklet????tasklet_struct结构体的定义????使用tasklet⌛销毁tasklet(下半部)⚡️实战篇:重点代码分析♐终极篇: 完整代码演示????中断的概念中断是整个系统的核心,用来事件的切换或者响应。在Linux内核下又分为上半部中断和下半部中断,他们都遵循以下两个规律。① 不能嵌套;② 越快越好。在上半部处理紧急的事情,在上半部的处理过程中,中断是被禁止的;在下半部处理耗时的事情,在下半部的处理过程中,中断是使能的。原创 2021-11-02 15:50:47 · 1396 阅读 · 3 评论 -
Linux内核下的定时器的应用与分析
定时器的概念从大众的角度,定时器就是一个闹钟,到时间了就会工作,从程序员的角度,定一个时间,到时间了就会调用你写的函数事件定时器在内核的实现机制所谓实现机制,我觉得就是代码的追踪,一步一步的追踪,这其中大部分都是结构体的封装。逻辑上的定时器是正常的中断,即发生硬件中断,会去查看有没有软中断要处理,定时器通过软中断来实现,属于TIMER_SOFTIRQ软中断void __init init_timers(void){ init_timer_cpus(); init_timer_stats();原创 2021-11-02 14:31:07 · 772 阅读 · 6 评论 -
Linux内核下的异步通知(信号,platform_driver)
文章目录功能机制工作流程具体分析设备树如何编写确定引脚修改设备树驱动程序的编写确定入口,出口函数probe里面做得事中断函数里面做什么异步通知的使用方法环形缓冲区的定义remove函数里面做什么应用层的编写驱动程序总体代码编写功能机制功能:Linux开发板按下按键应用层程序将会调用产生的信号并执行相对应的函数知识点:内核,用户的信号量,进程,文件io,platform_driver,环形缓冲区,中断,等待队列,poll机制,设备树工作流程通过更改设备树来改变相对应的io引脚的作用,如更改按键所对原创 2021-11-02 11:34:47 · 392 阅读 · 2 评论 -
⭐❤️浅谈Linux用户空间与内核空间的理解❤️⭐
Linux-yyds为什么要分用户空间和内核空间优点内核空间与用户空间的数据交互两种空间的内存分配为什么要分用户空间和内核空间我的脑子里一直有这样一个问题,为什么要区分内核空间和用户空间呢,本质上不都是两套代码吗,还要搞得这么麻烦,还有最主要的一个问题问题,内核空间和用户空间的区分在哪里,于是我带着这个问题去了解了一下,顺便记录下来。优点用户空间的崩溃不会造成内核空间的崩溃,每个进程之间都有自己特定的地址和数据空间,并且相互独立,提高系统运行的稳定性统一接口,让用户不需要关注底层如何实现,只需要原创 2021-10-25 11:17:37 · 308 阅读 · 1 评论 -
❤️⭐Linux防火墙软件iptables的使用⭐❤️
1.防火墙概念防火墙被定义成一个或一组设备,它在网络之间执行访问控制策略2.功能1、切割被信任(如子域)与不被信任(如Internet)的网段2、划分出可提供Internet的服务与必须受保护的服务3、分析出可接受与不可接受的数据包状态注意:防火墙仅仅能够防住部分,有些仍然无能为力(黑客、内部攻击3. 防火墙软件iptablesiptables 根据数据包的分析资料“对比”预先定义的规则内容iptables中规则是一条条的,他将这些规则放到三张表格。3.1查看过滤规则3原创 2021-10-23 18:29:26 · 133 阅读 · 1 评论 -
⭐❤️如何安装ARM交叉编译工具链❤️⭐
下载arm-linux-gcc-4.3.2.tar.bz2的压缩包sudo mkdir /usr/local/arm/sudo tar jxvf arm-linux-gcc-4.3.2.tar.bz2 -C /usr/local/arm打开配置文件添加环境变量sudo vi ~/.bashrc在配置文件里面添加export PATH=/usr/local/arm/4.3.2/bin:$PATH更新配置文件 source ~/.bashrc使用 #arm-linux-..原创 2021-10-18 10:32:45 · 422 阅读 · 3 评论 -
❤️⭐详细分析主机ping通不同网段的工作流程⭐❤️
文章目录1.准备步骤开始分析包里面的内容1.准备步骤:用模拟器两台主机,两个路由器:设置每个主机的ip和网卡: 设置路由器的ip地址和他的下一跳如图所示:我已经把ip地址和mac打印出来了,后面分析用得到开始分析包里面的内容192.168.1.1刚开始ping 192.168.2.2的ip和产生两个包分别是ICMP包和ARP包ICMP:ARP:ARP包进行广播,发现不是在同一个网段则通过192.168.1.1发过去ARP包开始发送给给路由器,路由器接受后返回APR包给原创 2021-10-15 20:11:59 · 1496 阅读 · 0 评论 -
❤️⭐万字长文玩转总线设备驱动platform_device与platform_driver⭐❤️
文章目录前言一、Linux总线的重要函数1.1注册与销毁函数1.2获得资源1.3获得中断1.4通过名字获得资源或者中断1.5同时注册多个dev二、总线设备里面含有什么结构体?1.1从platform_device 开始1.1.2 struct resource资源存储1.2与platform_driver结合1.3platform_driver与platform_device 如何进行关联1.3.1比对规则1.4 匹配成功后三.代码示范3.1平台设备案例3.2资源设备案例前言总线设备驱动的引入是主要解原创 2021-10-10 17:17:56 · 380 阅读 · 4 评论 -
⭐❤️BOA服务器的安装,开发与移植❤️⭐
这里写自定义目录标题BOA服务器简介BOA服务器的下载boa移植BOA服务器简介BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。类似于apache、tomacat等等web服务器。BOA服务器的下载1.源码下载:boa-0.94.13.tar.gz 链接:https://pan.baidu.com/s/13pSIqRU47xkjInVfFDMorQ 密码:m7eg2.把这个压缩包放入l原创 2021-10-08 13:23:56 · 980 阅读 · 0 评论 -
❤️原始套接字(网络编程再进阶)❤️
文章目录TCP、UDP 开发回顾TCP 编程回顾原始套接字的功能TCP、UDP 开发回顾数据报式套接字(SOCK_DGRAM)1、无连接的 socket,针对无连接的 UDP 服务2、可通过邮件模型来进行对比流式套接字(SOCK_STREAM)1、面向连接的 socket,针对面向连接的 TCP 服务2、可通过电话模型来进行对比这两类套接字似乎涵盖了 TCP/IP 应用的全部,TCP 与 UDP 各自有独立的 port 互不影响 ,一个进程可同时拥有多个 port,不必关心 tcp/原创 2021-09-28 21:05:56 · 2057 阅读 · 2 评论 -
❤️网络通信过程的学习笔记(进阶之路的必经之路)❤️
文章目录前言一、网络通信概述二、推荐使用Packet Tracer三、交换机介绍四.路由器介绍五。通信过程(浏览器跨网访问 Web 服务器)六.使用Packet Tracer软件模拟通信总结网络通信过程前言可能我们会使用TCP和udp进行网络的编程,但仅仅只是代码的层面,如果从代码的层面了解通信协议只是学到了皮毛,很多人都是直接复制粘贴的,我们必须得学会网络是如何通信的,什么叫arp协议,路由器是干什么用的,这些都是我们一一要去了解的提示:以下是本篇文章正文内容,下面案例可供参考一、网络通信概述原创 2021-09-27 19:48:47 · 301 阅读 · 0 评论 -
❤️Cisco PacketTracer5(思科路由器)的安装和使用❤️
网络分析工具介绍Packet Tracer 是由 Cisco 公司发布的一个辅助学习工具,提供了设计、配置、排除网络故障网络模拟环境 可以直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况。可以在网上直接下载到安装:一路next,直到完成。思科软件页面的简介两台主机或者其他路由器的创建动态演示话不多是,直接通过动态图来演示一下如何修改主机的ip地址和子网掩码之类的信息如何ping通两个主机两个主机之间的具体通信步骤查看...原创 2021-09-27 13:48:26 · 962 阅读 · 0 评论 -
❤️WEB服务器和HTTP的应用与编程❤️
1.Web 服务器介绍1.1web 服务器简介Web 服务器又称 WWW 服务器、网站服务器等特点使用 HTTP 协议与客户机浏览器进行信息交流不仅能存储信息,还能在用户通过 web 浏览器提供的信息的基础上运行脚本和程序该服务器需可安装在 UNIX、Linux 或 Windows 等操作系统上著名的服务器有 Apache、Tomcat、 IIS 等1.2 HTTP 协议Webserver—HTTP 协议概念一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档原创 2021-09-27 13:21:28 · 170 阅读 · 1 评论 -
❤️怒肝三万字,史诗的保姆网络编程教学❤️
网络编程网络编程概念TCP 网络编程socket函数(客户端和服务端必用)bind函数(服务端专属)listen函数(服务端专属)accept 函数(服务端专属)connect 函数(客户端和服务端必用)send函数(客户端服务端可用)recv函数(客户端服务端可用)close 关闭套接字TCP三次握手TCP四次挥手网络编程概念网络通信要解决的是不同主机进程间的通信1、首要问题是网络间进程标识问题2、以及多重协议的识别问题,其网络程 序编程开发接口为 socket 随着 UNIX 以及类 UNIX原创 2021-09-26 20:24:40 · 2179 阅读 · 3 评论 -
⭐❤️进程的进阶讲解❤️⭐
1.进程的挂起进程在一定的时间内没有任何动作,称为进程的挂起 #include <unistd.h> unsigned int sleep(unsigned int sec);功能:进程挂起指定的秒数,直到指定的时间用完或收到信号才解除挂起。返回值:若进程挂起到 sec 指定的时间则返回 0,若有信号中断则返回剩余秒数。 注意:进程挂起指定的秒数后程序并不会立即执行,系统只是将此进程切换到就绪态。2.进程的等待父子进程有时需要简单的进程间同步,如父进程等待子进程的结束。linux 下原创 2021-09-18 13:19:43 · 292 阅读 · 0 评论 -
❤️终极大招:多线程的互斥与同步❤️
文章目录互斥和同步概述互斥锁互斥锁的概念初始化互斥锁互斥锁上锁互斥锁上锁 2互斥锁解锁销毁互斥锁互斥锁的代码演示信号量信号量的概念信号量的初始化信号量 P 操作(减)信号量的 V 操作(加)获取信号量的计数值信号量的销毁有名信号量(扩展)有名信号量概念有名信号量的打开或创建信号量的关闭信号量的删除互斥和同步概述在多任务操作系统中,同时运行的多个任务可能 都需要访问/使用同一种资源,多个任务之间有依赖关系,某个任务的运行依赖于另一个任务,同步和互斥就是用于解决这两个问题的。互斥:一个公共资源同一时刻只能原创 2021-09-11 14:44:45 · 476 阅读 · 0 评论 -
❤️一文带你了解’迷人‘的线程❤️
线程概述1、功能:实现多任务。程序:存储在介质上的可执行文件(项目)进程:程序的执行实例,是系统分配资源的基本单位。(项目经理)线程:是cpu调度和分配的基本单位(程序员)2、进程与线程对比:资源:进程:拥有全部资源线程:一般情况,共享进程资源系统开销:进程:开销大,需要进程间通信线程:开销小,且多线程之间不需要线程间通信并发:两者都可实现多任务。线程环境搭建及测试1、测试系统是否存在线程环境man -k pthread2、安装线程环境sudo apt-get in原创 2021-09-10 12:39:54 · 147 阅读 · 2 评论 -
❤️进程间的通信(5)--信号❤️
信号概述如何产生信号信号的使用1.kill 函数2.alarm 函数raise 函数abort 函数pause 函数进程接收到信号后的处理方式可重入函数信号集sigemptyset 函数sigfillset 函数sigismember 函数sigaddset 函数sigdelset 函数信号阻塞集(屏蔽集、掩码)sigprocmask 函数概述信号是软件中断,它是在软件层次上对中断机制的一种模拟。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。 信号是一种异步通信原创 2021-09-09 15:33:44 · 3414 阅读 · 4 评论 -
❤️进程间的通信(4)--共享内存❤️
共享内存详解共享内存概述共享内存使用获得一个共享存储标识符共享内存映射(attach)共享内存控制共享内存概述共享内存允许两个或者多个进程共享给定的存储区域。共享内存的特点1、 共享内存是进程间共享数据的一种最快的方法。一个进程向共享的内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。2、使用共享内存要注意的是多个进程之间对一个给定存储区访问的互斥。若一个进程正在向共享内存区写数据,则在它做完这一步操作前,别的进程不应当去读、写这些数据。3.数据不是一次性的共享内存原创 2021-09-08 21:16:46 · 191 阅读 · 0 评论 -
❤️进程间的通信(3)--消息队列❤️
目录前言:消息队列的特点消息队列的使用流程(创建 发送 接收 控制 )5.1.1ftok 函数5.1.2 创建消息队列5.1.2 发送消息5.1.3 接收消息5.1.3 消息队列的控制代码演示前言:前面我们学过了无名和有名管道,不过他们适合一对一进行通信,不是和一对多通信,消息队列就是来解决一对多,多对多通信的问题消息队列的特点1、消息队列中的消息是有类型的。2、消息队列中的消息是有格式的。3、消息队列可以实现消息的随机查询。消息不一定要以先进先出的次序读取,编程时可以按消息的类型读取。原创 2021-09-08 12:58:30 · 1866 阅读 · 0 评论 -
❤️进程间的通信(2)---重定向❤️
文件描述符概述用户使用文件描述符(file descriptor)来访问文件。每个进程都有一张文件描述符的表,进程刚被创建时,标准输入、标准输出、标准错误输出设备文件被打开, 对应的文件描述符 0、1、2 记录在表中。文件描述符的复制dup 和 dup2 是两个非常有用的系统调用,都是用来复制一个文件的描述符,使新的文件描述符也标识旧的文 件描述符所标识的文件。int dup(int oldfd);int dup2(int oldfd, int newfd);dup 和 dup2 经常用来重原创 2021-09-07 16:18:08 · 202 阅读 · 0 评论 -
❤️进程间的通信(1)--管道❤️
.一.进程间通信概述进程间通信(IPC:Inter Processes Communication)每个进程都是一个独立的资源分配单元,一个进程中不能访问另一个进程,但是不同的进程需要进行数据的交互,因此需要进程间通信。进程间通信功能数据传输:一个进程需要将它的数据发送给另一个进程。资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件。进程控制:有些进程希望完全控制另一个进程的执行(如 Debug 进程),此时控制进程希望能够拦截另一个原创 2021-09-07 14:19:07 · 176 阅读 · 0 评论 -
⭐❤️万字长文带你了解Linux最核心的部分--中断❤️⭐
系列文章目录文章目录系列文章目录前言一、Linux中断发生的条件二、Linux内核对中断如何处理1.中断的处理流程2.异常向量表3.Linux内核对中断如何处理3.1中断处理的核心-栈3.2.中断在Linux中的演进3.3使用tasklet处理下半部3.4中断上半部和下半部的关系中断下半部使用work_queue(工作队列)总结![请添加图片描述](https://img-blog.csdnimg.cn/6ddb65baba224123ae6d133daed10b2e.gif)前言中断是指原创 2021-09-06 00:03:59 · 606 阅读 · 2 评论 -
❤️终于有人把进程概念讲清楚了❤️
程序和进程有什么区别呢程序是硬盘上是死的程序,而进程是把程序搬运到内存上,如果一个程序被多次执行,就有多个进程,每个进程都有自己的进程号单道、多道程序单道程序设计 所有进程一个一个排队执行。若A阻塞,B只能等待,即使CPU处于空闲状态。而在人机交互时阻塞的出现是必然的。所有这种模型在系统资源利用上及其不合理,在计算机发展历史上存在不久,大部分便被淘汰了。 2 多道程序设计 在计算机内存中同时存放几道相互独立的程序,它们在管理程序控制之下,相互穿插的运行。多道程序设计必须有硬件基础作为保证。 在计.原创 2021-09-03 16:14:22 · 2793 阅读 · 4 评论 -
shell脚本的使用方法-解放双手
shell是一个脚本,也是一个程序,我们在终端敲命令时也是一种程序,就是shell,它都是一些二进制文件,它通过shell解析器调用系统IO从而调用到内核。shell解析器有很多种,我们ubuntu下默认是bash解析器,如何查看是哪一个解析器:通过 ehco $SHELL查看如何进行shell编程shell解析器执行程序,其实就是执行一个脚本文件,这个文件就是我们需要写的东西执行方式有三种:./ 脚本文件bash 脚本文件. 脚本名字Linux下是不分后缀名的,我们写有后缀名只是方便原创 2021-09-02 10:44:53 · 378 阅读 · 0 评论 -
❤️你见过Linux下内核的应用程序hellowolrd吗?你说你会用c语言写hellowolrd?我不信❤️
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-08-31 17:36:56 · 3785 阅读 · 10 评论 -
驱动之路碰到的小挫折-[ 3020.965438] ------------[ cut here ]------------ [ 3020.970112] WARNING: CPU: 0 PID: 3
今天在做led驱动点灯的时候碰到了以下错误调试了半天都调试不出来是什么原因,奈何网上又没有这种原因的解析,所以把我的解决办法告诉大家。[ 3020.965438] ------------[ cut here ]------------[ 3020.970112] WARNING: CPU: 0 PID: 30545 at fs/namei.c:3394 path_openat+0x19c/0x1120[ 3020.979301] Modules linked in: led_drv(O) inv_原创 2021-08-21 11:08:50 · 1697 阅读 · 6 评论