导航:首页 > 编程系统 > uclinux操作系统原理

uclinux操作系统原理

发布时间:2021-03-05 14:56:35

① 嵌入式linux系统内核与UC/os系统有什么异同感觉linux内核的运作完全弄不明白啊。他是怎么运作的呢采纳

uCOS被称为RTOS,相对于Linux只是线程和线程通信而已。uCOS的优点在于极低的资源消耗(甚至版可以跑在51上)和启权动速度。
Linux的内核就复杂了,包括了进程,线程,驱动等等。特点是开源和强大的网络功能,所以多被用于服务器、路由器等。

② 怎么学习嵌入式实时操作系统uc/os原理与实践

LZ,ucos系统是最基本简单的操作系统之一,理论其实挺通俗易懂的,内多操作实践就更好了,,,
身边搞嵌入式容的人都有这么一个历程:1、买了一块stm32开发板,学习光盘资料知识,入门ucos;2、用这个ucos做了一个课程设计,不是很难的智能家居项目,,,3、接触树莓派等一些开发linux系统的开发板,学习linux内核,有条件和时间还去了培训机构辅修了linux C和c++;
不过就ucos来讲,用一块开发板来搞搞事情,对入门真的帮助很大哦!

③ 如果通了uC/OS II,对学习LINUX操作系统有多少帮助

uc/os和uclinux操作系统是两种性能优良源码公开且被广泛应用的的免费嵌入 式操作系统,可以作为研究实时操作系统和非实时操作系统的典范。本文通过对 uc/os和uclinux的对比,分析和总结了嵌入式操作系统应用中的若干重要问题, 归纳了嵌入式系统开发中操作系统的选型依据。 两种开源嵌入式操作系统介绍 uc/os和uclinux操作系统,是当前得到广泛应用的两种免费且公开源码的嵌入 式操作系统。uc/os适合小型控制系统,具有执行效率高、占用空间小、实时性 能优良和可扩展性强等特点,最小内核可编译至2k。uclinux则是继承标准linux 的优良特性,针对嵌入式处理器的特点设计的一种操作系统,具有内嵌中国络协议、 支持多种文件系统,开发者可利用标准linux先验知识等优势。其编译后目标文 件可控制在几百k量级。 uc/os是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。 其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服 务等功能。 uclinux是一种优秀的嵌入式linux版本。uclinux是micro-conrol-linux的缩写。 同标准linux相比,它集成了标准linux操作系统的稳定性、强大中国络功能和出 色的文件系统等主要优点。但是由于没有mmu(内存管理单元),其多任务的实 现需要一定技巧。 两种嵌入式操作系统主要性能比较 嵌入式操作系统是嵌入式系统软硬件资源的控制中心,它以尽量合理的有效方法 组织多个用户共享嵌入式系统的各种资源。其中用户指的是系统程序之上的所有 软件。所谓合理有效的方法,指的就是操作系统如何协调并充分利用硬件资源来 实现多任务。复杂的操作系统都支持文件系统,方便组织文件并易于对其规范化 操作。 嵌入式操作系统还有一个特点就是针对不同的平台,系统不是直接可用的,一般 需要经过针对专门平台的移植操作系统才能正常工作。 进程调度、文件系统支持和系统移植是在嵌入式操作系统实际应用中最常见的问 题,下文就从这几个角度入手对uc/os和uclinux进行分析比较。 进程调度 任务调度主要是协调任务对计算机系统内资源(如内存、i/o设备、cpu)的争夺 使用。进程调度又称为cpu调度,其根本任务是按照某种原则为处于就绪状态 的进程分配cpu。由于嵌入式系统中内存和i/o设备一般都和cpu同时归属于 某进程,所以任务调度和进程调度概念相近,很多场合不加区分,下文中提到的 任务其实就是进程的概念。 进程调度可分为"剥夺型调度"和"非剥夺型调度"两种基本方式。所谓"非剥夺型 调度"是指:一旦某个进程被调度执行,则该进程一直执行下去直至该进程结束, 或由于某种原因自行放弃cpu进入等待状态,才将cpu重新分配给其他进程。 所谓"剥夺型调度"是指:一旦就绪状态中出现优先权更高的进程,或者运行的进 程已用满了规定的时间片时,便立即剥夺当前进程的运行(将其放回就绪状态), 把cpu分配给其他进程。 作为实时操作系统,uc/os是采用的可剥夺型实时多任务内核。可剥夺型的实时 内核在任何时候都运行就绪了的最高优先级的任务。uc/os中最多可以支持64 个任务,分别对应优先级0"63,其中0为最高优先级。调度工作的内容可以分 为两部分:最高优先级任务的寻找和任务切换。 其最高优先级任务的寻找是通过建立就绪任务表来实现的。uc/os中的每一个任 务都有独立的堆栈空间,并有一个称为任务控制块tcb(task control block)数据 结构,其中第一个成员变量就是保存的任务堆栈指针。任务调度模块首先用变量 ostcbhighrdy记录当前最高级就绪任务的tcb地址,然后调用os_task_sw() 函数来进行任务切换。 uclinux的进程调度沿用了linux的传统,系统每隔一定时间挂起进程,同时系 统产生快速和周期性的时钟计时中断,并通过调度函数(定时器处理函数)决定进 程什么时候拥有它的时间片。然后进行相关进程切换,这是通过父进程调用fork 函数生成子进程来实现的。 uclinux系统fork调用完成后,要么子进程代替父进程执行(此时父进程已经 sleep),直到子进程调用exit退出;要么调用exec执行一个新的进程,这个时候 产生可执行文件的加载,即使这个进程只是父进程的拷贝,这个过程也不可避免。 当子进程执行exit或exec后,子进程使用wakeup把父进程唤醒,使父进程继续 往下执行。 uclinux由于没有mmu管理存储器,其对内存的访问是直接的,所有程序中访 问的地址都是实际的物理地址。操作系统队内存空间没有保护,各个进程实际上 共享一个运行空间。这就需要实现多进程时进行数据保护,也导致了用户程序使 用的空间可能占用到系统内核空间,这些问题在编程时都需要多加注意,否则容 易导致系统崩溃。 由上述分析可以得知,uc/os内核是针对实时系统的要求设计实现的,相对简单, 可以满足较高的实时性要求。而uclinux则在结构上继承了标准linux的多任务 实现方式,仅针对嵌入式处理器特点进行改良。其要实现实时性效果则需要使系 统在实时内核的控制下运行,rt-linux就是可以实现这一个功能的一种实时内 核。 文件系统 所谓文件系统是指负责存取和管理文件信息的机构,也可以说是负责文件的建 立、撤销、组织、读写、修改、复制及对文件管理所需要的资源(如目录表、存 储介质等)实施管理的软件部分。 uc/os是面向中小型嵌入式系统的,如果包含全部功能(信号量、消息邮箱、消 息队列及相关函数),编译后的uc/os内核仅有6"10kb,所以系统本身并没有 对文件系统的支持。但是uc/os具有良好的扩展性能,如果需要的话也可自行 加入文件系统的内容。 uclinux则是继承了linux完善的文件系统性能。其采用的是romfs文件系统, 这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于 两个方面,首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码, 其次romfs文件系统相对简单,在建立文件系统超级块(superblock)需要更少的存 储空间。romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采 用虚拟ram盘的方法进行处理(ram盘将采用ext2文件系统)。 uclinux还继承了linux中国络操作系统的优势,可以很方便的支持中国络文件系统 且内嵌tcp/ip协议,这为uclinux开发中国络接入设备提供了便利。 由两种操作系统对文件系统的支持可知,在复杂的需要较多文件处理的嵌入式系 统中uclinux是一个不错的选择。而uc/os则主要适合一些控制系统。 操作系统的移植 嵌入式操作系统移植的目的是指使操作系统能在某个微处理器或微控制器上运 行。uc/os和uclinux都是源码公开的操作系统,且其结构化设计便于把与处理 器相关的部分分离出来,所以被移植到新的处理器上是可能的。 以下对两种系统的移植分别予以说明。 (1)uc/os的移植 要移植uc/os,目标处理器必须满足以下要求; ·处理器的c编译器能产生可重入代码,且用c语言就可以打开和关闭中断; ·处理器支持中断,并能产生定时中断; ·处理器支持足够的ram(几k字节),作为多任务环境下的任务堆栈; ·处理器有将堆栈指针和其他cpu寄存器读出和存储到堆栈或内存中的指令。 在理解了处理器和c编译器的技术细节后,uc/os的移植只需要修改与处理器 相关的代码就可以了。具体有如下内容: ·os_cpu.h中需要设置一个常量来标识堆栈增长方向; ·os_cpu.h中需要声明几个用于开关中断和任务切换的宏; ·os_cpu.h中需要针对具体处理器的字长重新定义一系列数据类型; ·os_cpu_a.asm需要改写4个汇编语言的函数; ·os_cpu_c.c需要用c语言编写6个简单函数; ·修改主头文件include.h,将上面的三个文件和其他自己的头文件加入。 (2)uclinux的移植 由于uclinux其实是linux针对嵌入式系统的一种改良,其结构比较复杂,相对 uc/os,uclinux的移植也复杂得多。一般而言要移植uclinux,目标处理器除了 应满足上述uc/os应满足的条件外,还需要具有足够容量(几百k字节以上)外 部rom和ram。 uclinux的移植大致可以分为3个层次: ·结构层次的移植,如果待移植处理器的结构不同于任何已经支持的处理器结构, 则需要修改linux/arch目录下相关处理器结构的文件。虽然uclinux内核代码的 大部分是独立于处理器和其体系结构的,但是其最低级的代码也是特定于各个系 统的。这主要表现在它们的中断处理上下文、内存映射的维护、任务上下文和初 始化过程都是独特的。这些例行程序位于linux/arch/目录下。由于linux所支持 体系结构的种类繁多,所以对一个新型的体系,其低级例程可以模仿与其相似的 体系例程编写。 ·平台层次的移植,如果待移植处理器是某种uclinux已支持体系的分支处理器, 则需要在相关体系结构目录下建立相应目录并编写相应代码。如mc68ez328就 是基于无mmu的m68k内核的。此时的移植需要创建 linux/arch/m68knommu/platform/ mc68ez328目录并在其下编写跟踪程序(实现 用户程序到内核函数的接口等功能)、中断控制调度程序和向量初始化程序等。 ·板级移植,如果你所用处理器已被uclinux支持的话,就只需要板级移植了。板 级移植需要在linux/arch/?platform/中建立一个相应板的目录,再在其中建立相应 的启动代码crt0_rom.s或crt0_ram.s和链接描述文档rom.ld或ram.ld就可以了。 板级移植还包括驱动程序的编写和环境变量设置等内容。 通过对uc/os和uclinux的比较,可以看出这两种操作系统在应用方面各有优劣。 uc/os占用空间少,执行效率高,实时性能优良,且针对新处理器的移植相对简 单。uclinux则占用空间相对较大,实时性能一般,针对新处理器的移植相对复 杂。但是,uclinux具有对多种文件系统的支持能力、内嵌了tcp/ip协议,可 以借鉴linux丰富的资源,对一些复杂的应用,uclinux具有相当优势。例如cisco 公司的 2500/3000/4000 路由器就是基于uclinux操作系统开发的。 总之,操作系统的选择是由嵌入式系统的需求决定的。简单的说就是,小型控制 系统可充分利用uc/os小巧且实时性强的优势,如果开发pda和互联中国连接终 端等较为复杂的系统则uclinux是不错的选择。 本回答由电脑中国络分类达人 李孝忠推荐

④ 哪种嵌入式操作系统好些,linux还是uc/os

不能说哪个操作系统好,哪个不好,比如你一个51的板子,你跑Linux?那不现实.很多是根据项目来安排的,如果需要什么就用什么.Linux比uc/os要复杂的多.

⑤ 求Linux操作系统的的发展历史。。。

Linux 操作系统的诞生 1981 年IBM 公司推出享誉全球的微型计算机IBM PC。在1981-1991 年间,MS-DOS 操作系统一直是微型计算机上操作系统的主宰。此时计算机硬件价格虽然逐年下降,但软件价格仍然是居高不下。当时Apple 的MACs 操作系统可以说是性能最好的,但是其天价没人能够轻易靠近。 到1991 年,GNU 计划已经开发出了许多工具软件。最受期盼的Gnu C 编译器已经出现,但还没有开发出免费的GNU 操作系统。即使是MINIX 也开始有了版权,需要购买才能得到源代码。而GNU 的操作系统HURD 一直在开发之中,但并不能在几年内完成。对于Linus 来说,已经不能等待了。从1991 年4 月份起,他开始酝酿并着手编制自己的操作系统。刚开始,他的目的很简单,只是为了学习Intel 386 体系结构保护模式运行方式下的编程技术。但后来Linux 的发展却完全改变了初衷。 1991 年初,Linus 开始在一台386sx 兼容微机上学习minix 操作系统。通过学习,他逐渐不能满足于minix 系统的现有性能,并开始酝酿开发一个新的免费操作系统。根据Linux 在comp.os.minix 新闻组上发布的消息,我们可以知道他逐步从学习minix 系统到开发自己的Linux 的过程。 从1991 年的4 月份开始,Linus 几乎花了全部时间研究386-minix 系统(hack the kernel),并且尝试着移植GNU 的软件到该系统上(GNU gcc、bash、gdb 等)。并于4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell 软件了。 第一个与Linux 有关的消息是在1991 年7 月3 日在comp.os.minix 上发布的(当然此时还不存在Linux 这个名称,当时Linus 的脑子里想的可能是FREAX ,FREAX 的英文含义是怪诞的、怪物、异想天开等)。其中透露了他正在进行Linux 系统的开发,并且在Linux 最初的时候已经想到要实现与POSIX(UNIX 的国际标准)的兼容问题了。 在Linus 的下一发布的消息中(1991 年8 月25 日 comp.os.minix),他向所有minix 用户询问"What would you like to see in minix?"("你最想在minix 中见到什么?"),在该消息中他首次透露出正在开发一个(免费的)386(486)操作系统,并且说只是兴趣而已,代码不会很大,也不会象GNU 的那样专业。开发免费操作系统这个想法从4 月份就开始酝酿了,希望大家反馈一些对于minix 系统中喜欢那些特色不喜欢什么等信息,由于实际的和其它一些原因,新开发的系统刚开始与minix 很象(并且使用了minix 的文件系统)。并且已经成功地将bash(1.08 版)和gcc(1.40 版)移植到了新系统上,而且再过几个月就可以使用了。 最后,Linus 申明他开发的操作系统没有使用一行minix 的源代码;而且由于使用了386 的任务切换特性,所以该操作系统不好移植(没有可移植性),并且只能使用AT 硬盘。对于Linux 的移植性问题,Linus 当时并没有考虑。但是目前Linux 几乎可以运行在任何一种硬件体系结构上。 到了1991 年的10 月5 日,Linus 在comp.os.minix 新闻组上发布消息,正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)。这段消息可以称为Linux 的诞生宣言,并且一直广为流传。因此10 月5 日对Linux 社区来说是一个特殊的日子,许多后来Linux 的新版本发布时都选择了这个日子。所以RedHat 公司选择这个日子发布它的新系统也不是偶然的。
Linux 的命名
Linux 操作系统刚开始时并没有被称作Linux,Linus 给他的操作系统取名为FREAX,其英文含义是怪诞的、怪物、异想天开等意思。在他将新的操作系统上载到ftp,funet。fi服务器上时,管理员Ari Lemke很不喜欢这个名称。他认为既然是Linus 的操作系统就取其谐音Linux 作为该操作系统的目录吧,于是Linux 这个名称就开始流传下来。 在Linus 的自传《Just for Fun》一书中,Linus 解释说:"坦白地说,我从来没有想到过要用Linux 这个名称发布这个操作系统,因为这个名字有些太自负了。而我为最终发布版准备的是什么名字呢Freax。实际上,内核代码中某些早期的Makefile - 用于描述如何编译源代码的文件 - 文件中就已经包含有"Freax"这个名字了,大约存在了半年左右。但其实这也没什么关系,在当时还不需要一个名字,因为我还没有向任何人发布过内核代码。而Ari Lemke,他坚持要用自己的方式将内核代码放到ftp 站点上,并且非常不喜欢Freax 这个名字。他坚持要用现在这个名字(Linux),我承认当时我并没有跟他多争论。但这都是他取的名字。所以我可以光明正大地说我并不自负,或者部分坦白地说我并没有本位主义思想。但我想好吧,这也是个好名字,而且以后为这事我总能说服别人,就像我现在做的这样。"-- Linus Torvalds《Just for fun》第84-88 页。

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

⑥ uCliunx和liunx的不同

uClinux是针复对控制领域的嵌入式linux操作制系统,它从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。适合不具备内存管理单元(MMU)的微处理器/微控制器。没有MMU支持是uClinux与主流Linux的基本差异。

⑦ 学习DSP是学带uclinux操作系统的好,还是单独学好。uclinux用的范围广吗对以后找工作有益吗

楼主是不复是初学者呀?这制个问题重要!
1.如果初学者的话,uclinux是linux的简化无MMU的版本,很是适合从单片机这方面转向真正意义嵌入式系统的人员学习,比较好上手一些;
2.如果有一定的基础了的,就可以直接学习linux,uclinx用于工控更多一些,相比linux的面会窄很多的。

注:如果只是学习的层面的话,建议学习基于X86 arm powerpc平台Linux系统,这些更主流一些,市场上用的及学习的人员都比较多;感觉用dsp 玩 uclinux的挺少,也不便你的学习和大家交流!

⑧ uclinux是嵌入式操作系统吗

uClinux是嵌入式Linux领域非常重要的分支,已成功应用于路由器、机顶盒、PDA等领域,与标准Linux在内存管理方面有着本质的区别。uCLinux是一种优秀的嵌入式Linux版本,是micro-Conrol-Linux的缩写。它秉承了标准Linux的优良特性, 经过各方面的小型化改造,形成了一个高度优化的、代码紧凑的嵌入式Linux。虽然它的体积很小,却仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、对各种文件系统完备的支持和标准丰富的API。它专为嵌入式系统做了许多小型化的工作,目前已支持多款CPU。 其编译后目标文件可控制在几百KB数量级,并已经被成功地移植到很多平台上。uClinux从Linux 2.0/2.4内核派生而来,沿袭了Linux的绝大部分特性。它是专门针对没有MMU(内存管理单元)的CPU,并且为嵌入式系统做了许多小型化的工作。它通常用于具有很少内存或Flash的嵌入式操作系统。在GNU通用许可证的保证下,运行uClinux操作系统的用户可以使用几乎所有的Linux API函数。由于经过了裁剪和优化,它形成了一个高度优化,代码紧凑的嵌入式Linux。它具有体积小、稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持,以及丰富的API函数等优点。uClinux与Linux在兼容性方面表现出色,uClinux除了不能实现fork()外,其余uClinux的API函数与标准Linux完全相同。针对没有MMU的CPU全球每年生产的CPU的数量大概在二十亿颗左右,其中大部分是应用于专用性很强的各类嵌入式系统。大部分嵌入式系统为了减少系统复杂程度、降低硬件及开发成本和运行功耗,在硬件设计中取消了内存管理单元(MMU)模块。最初,运行于这类没有MMU的CPU之上的都是一些很简单的单任务操作系统,或者更简单的控制程序,甚至根本就没有操作系统而直接运行应用程序。在这种情况下,系统无法运行复杂的应用程序,或者效率很低,并且所有的应用程序需要重新开发,还要求开发人员十分了解硬件特性。这些都阻碍了不含MMU的嵌入式产品开发的速度和应用水平。uClinux专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。uClinux是一个完全符合GNU/GPL公约的项目,完全开放代码。最初的uClinux仅仅支持Palm硬件系统,基于Linux 2.0内核。随着系统的日益改进,支持的内核版本从2.0、2.2、2.4一直到现在最新的2.6。系统的开发人员从两人增加到了目前的12人,支持的硬件系统也从一种增加到了目前的十余种(支持的硬件平台如Motorola公司的M68328、M68EN322、MC68360、DragonBall系列如68EZ328、68VZ328,ColdFire系列的如5272、5307,ARM 7TDMI、MC68EN302、ETRAX、Intel i960、PRISMA、Atari 68k等等。)根据Linuxdevices网站2004年3月的调查,uClinux在全球嵌入式Linux市场所占的份额已位居第二,仅仅落后于定制Linux(即自己下载源码进行修改定制)。同时Linux在全球嵌入式操作系统的市场份额依然处于统治地位(占40%以上),领先第二名微软公司的嵌入式操作系统三倍以上(市场份额约13%)。

⑨ 嵌入式学习流程

我情况跟楼主差不多,不过我开学都上大三了。。。
我也在这方面摸内索了很久,虽容然还没真正学到实际项目的开发,但对要学什么总算有了点头绪:
微机原理与接口技术(汇编)
使用 linux,熟悉linux的一些基本操作(这个不需要专门花时间的)
数据结构
linux下的c编程,shell编程
linux操作系统原理
linux驱动
linux内核
驱动和内核的学习要有很扎实的功底,必须要把c,数据结构,操作系统原理彻底搞懂再开始,不然。。。你懂的!
然后就是单片机和arm 这两个是硬件部分
建议先学软件部分

阅读全文

与uclinux操作系统原理相关的资料

热点内容
李小璐天欲哪一段 浏览:303
qq免费视频群 浏览:222
#羽贺そら美 浏览:436
最新观看地址推荐 浏览:557
巩俐演的电影有个男孩叫水生 浏览:412
电影按摩椅 浏览:212
看b片网址 浏览:869
姜银慧全部5部影片 浏览:64
电脑上免费看电影的网站。 浏览:534
女尊重生一对一 浏览:844
看门狗的文件在哪里 浏览:685
蓝牙模块苹果用什么app 浏览:62
linuxudphttp 浏览:228
美国两个小孩亲嘴的电影 浏览:341
十三岁男孩心入女勾交的小电影日本电影 浏览:706
锯齿win10 浏览:633
全职高手小说番外 浏览:327
哥斯拉大蛇王电影 浏览:904
vm如何设置网络设置ip 浏览:616
大数据政策研究院 浏览:132

友情链接