项目名称 |
【苏嵌实训-嵌入式 linux C 第 9 天】 |
今日进度以及任务 | 对嵌入式linux多任务编程的学习; 计算机网络协议栈的了解; Tcpipudpip的使用和区别; 三次握手; |
本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) | 当操作系统使用某种策略允许两个或多个进程并发共享一个cpu时,他称为多任务运行,或多道程序运行。 多任务可以分为三个级别:对话级、进程级、线程级。
对话级多任务:对话间的多任务有用户控制。可以由用户在界面、控制台等等 切换各个 应用程序。
进程级多任务:进程是运行着的程序,是操作系统执行任务的基本单位。进程具备文本、数据和堆栈片断,以及他自己的资源。资源可以是文件、对象句柄、设备、互斥量、管道,等等。每个进程有着独立的运行环境。进程和进程间是相互颗粒但有时相互联系的,一个进程运行出错不会影响到别的进程运行,两个进程之间可以通过管道等方式通信,或者通过信号哦量的工具同步运行。因此,进程是实现多任务处理的核心单元。
进程完成单独的任务,每个任务有可能有自己的控制流程。这些流程有轻量级的进程构成,简称线程。进程的线程并发执行称作线程级多任务。
多任务处理的特点 对话间的多任务是一个高级别的多任务,他受用户控制。进程间的多任务以及多线程在低级别上实现。有设计他的程序员控制。程序员创建进程,并决定每个进程的线程数 ,任务的优先级,以及什么时候挂起、什么时候终止。 多任务的目的是增加系统能完成的工作量,提高资源的利用率。多任务通过保持系统资源(处理、I/o等)的繁忙,并防止他们在系统同中处于非激活状态时使用资源,是的多个任务能共享系统资源。 。单向链表是一种线性表,实际上是由节点(Node)组成的,一个链表拥有不定数量的节点。其数据在内存中存储是不连续的,它存储的数据分散在内存中,每个结点只能也只有它能知道下一个结点的存储位置。由N各节点(Node)组成单向链表,每一个Node记录本Node的数据及下一个Node。向外暴露的只有一个头节点(Head),我们对链表的所有操作,都是直接或者间接地通过其头节点来进行的。 |
本日开发中出现的问题汇总 | wait和waitpid函数间不容易区别 1、在一个子进程终止前,wait使其调用者阻塞,而waitpid有一选择项,可使调用者不阻塞 2、waitpid并不等待第一个终止的子进程——它有若干个选择项,可以控制它所等待的特定进程 3、wait函数是waitpid函数的一个特例
|
本日未解决问题 | 多任务就是多道程序运行,多任务编程中三个分类对话进程线程,原理差不多主要就是多方面独立又联系在一起。难点主要还是代码问题。 |
本日开发收获 | 对嵌入式linux中多任务编程有了深入的理解,对嵌入式linux的理解也更全面 |
其他 |
|
实训9
最新推荐文章于 2022-10-24 20:48:22 发布