《Linux嵌入式实时应用开发实战(原书第3版)》——3.2 Linux属性

3.2 Linux属性

下面列出一些Linux和UNIX风格的操作系统常见的重要特性。

  • 多任务。Linux调度器执行真正的、抢占式多任务,就是说当高优先级的进程准备好时,它将产生异步事件中断当前运行的进程。但是尽管它是抢占式的,由于内核中有相对较大的延迟,这使得它不适用于严格的实时应用。另外,默认的调度程序执行公平策略,给每个进程执行的机会。
  • 多用户。UNIX已发展为一个分时系统,允许多个用户共享一台昂贵的(在当时)计算机。因此,该系统有一些属性是支持隐私和数据保护的。Linux保留了这一点,并在服务器环境中得到了很好的应用。
  • 多进程。Linux为对称多处理提供广泛的支持,这里多个处理器通过一个共享的存储总线紧耦合。这一点在多核处理器的时代尤其重要。
  • 存储器保护。每个Linux进程都只允许在其私有存储器空间上运行,而不允许直接访问其他进程的存储器空间。这阻止了一个进程中的野指针破坏另一个进程的存储空间。错误的访问受到处理器存储保护硬件的阻止,会有相应的通知终止进程。
  • 等级文件系统。所有的现代操作系统,即使是DOS,都有等级(hierarchical)文件系统。但是Linux/UNIX模式在我们熟悉的传统的PC操作系统上增加了两个很好的特性:
  • 链接。简单地说,一个链接就是一个文件系统入口,它指向另一个文件,但本身不是一个文件。链接是一个有用的抽象机制和在多个用户间共享文件的一种方法。它们在从多个可选文件中选择配置方案时也有广泛的应用。
  • 设备独立的I/O。同样,这也不是新概念,但是Linux应用了这个概念的一个逻辑结论,即将每个外围设备都作为文件系统的入口。从应用的角度看,在写文件和写打印机之间完全没有什么不同。
时间: 2024-09-17 04:25:30

《Linux嵌入式实时应用开发实战(原书第3版)》——3.2 Linux属性的相关文章

《Linux嵌入式实时应用开发实战(原书第3版)》——1.5 开源协议

1.5 开源协议 多数软件终端用户协议都明确限制了你只可以使用协议范围内的功能.典型的限制条件是不允许复制或重新发布.你通常会被警告不要试图对软件进行"逆向工程". 相反,开源协议是只要你愿意,就允许使用.修改和复制授权的软件.和权利相伴的是义务.如果你修改并发布了一个开源协议内的软件,你就必须将修改后的源代码也纳入该框架.你的修改就成为"派生的工作",也在该协议的范围内.这就允许其他使用者更好地理解软件,并按他们的意愿做出更多的修改. 开源协议也叫"公共

《Linux嵌入式实时应用开发实战(原书第3版)》——3.5 Linux文件系统

3.5 Linux文件系统 Linux文件系统在很多方面与Windows PC或Macintosh(苹果公司生产的)上的文件系统类似.它是一个等级系统,允许你在"/"标识的根目录下创建任何数量的子目录.和Windows中一样,文件名可以很长.尽管如此,Linux和多数类似UNIX的系统一样,文件的扩展名--文件名中"."后面的那部分--不像它们在Windows中那样有意义.例如,Windows中的可执行文件的扩展名为".exe",但是Linux中

《Linux嵌入式实时应用开发实战(原书第3版)》—— 2.4 DVD 还是激活CD

2.4 DVD 还是激活CD 多数的Linux发行版至少可以通过三种途径获得:DVD.CD包(目前最多包含6张CD)或者一张激活CD(Live CD).一张激活CD就是一个最小的可引导Linux系统,可以不用安装Linux就让你有机会体验新的发行版.当然,你不能保存任何数据或修改配置.每次启动它都会恢复到默认配置. 激活CD提供的一个选项是安装发行版.当你选择这个选项时,它将运行和你使用DVD或完整的CD包同样的安装过程.不同之处在于安装包是来自网络而不是来自物理介质.

《Linux嵌入式实时应用开发实战(原书第3版)》—— 导读

前 言 使用minix的朋友们,大家好! 我正在为386(486)AT系列编写一个(免费的)操作系统(这仅仅是业余爱好,不会太大,也不会像GNU那样专业).我从4月份开始酝酿,现在快准备好了.我希望得到任何关于minix的反馈,包括你们在使用过程中喜欢和不喜欢的地方.因为我的操作系统和它多少有点类似(比如文件系统具有相同的物理布局(出于实用的原因)). 我目前已经移植了bash(1.08)和gcc(1.40),而且进展好像很顺利.这意味着我将在未来几个月内把这个系统推向应用,所以我想知道大多数人

《Linux嵌入式实时应用开发实战(原书第3版)》——1.3 为什么Linux适用

1.3 为什么Linux适用 Linux模仿UNIX的基本架构,在其基础上发展成为一个通用的操作系统.没有人认为UNIX适用于嵌入式或实时操作系统(RTOS).它太大了,占用太多的资源,而且其调度原则是基于顺序而不是优先级.因此,简而言之,它与嵌入式操作系统的要求完全是背道而驰的. 但是Linux有UNIX系统的早期版本所欠缺的几样东西.它是免费的,而且你可以得到源代码,并且有一个拥有大量热情的Linux开发者和使用者的大社区.你在使用中所面临的问题总有人正遇到或曾经遇到过,所有这些都在网络上,

《Linux嵌入式实时应用开发实战(原书第3版)》——1.4 哪里用嵌入式Linux

1.4 哪里用嵌入式Linux 任何地方都在用.2005年7月,LinuxDevices.com网站列出了超过300个运行Linux的商业产品.它们包括手机.个人数字助手(PDA)及通过路由器和网关使用的其他手持设备:精简客户端.多媒体设备.电视机顶盒.机器人和加固的VMEbus:适用于军事和控制应用的机箱.这些只是LinuxDevices网站的编辑们正好知道的产品.首个或许也是最知名的应用嵌入式Linux的家庭娱乐设备是TiVo个人录像机,当它在2000年首次出现时,就引发了电视业的革命.Ti

《Linux嵌入式实时应用开发实战(原书第3版)》——3.7 shell

3.7 shell Linux系统启动最后所做的事情之一是调用叫做shell的命令解释程序.它主要的工作是解析你在控制台输入的命令并执行相应的程序.但是shell不仅仅是一个简单的命令解释器.它包含了自己的一个功能强大的表述性解释编程语言,通过整合shell脚本语言和现有的实用程序,使无需写一行C代码就生成一个非常成熟的应用成为可能.事实上,这就是常规的UNIX编程的指导思想.从一组简单的实用程序开始,通过shell脚本语言将它们链接起来. shell脚本语言包括通常的循环.测试.函数等编程结构

《Linux嵌入式实时应用开发实战(原书第3版)》——1.6 资源

1.6 资源 embedded.com--<Embedded Systems Design>杂志的网站.这个网站并不是专门针对Linux的,但是作为一个更通用的信息工具,对于解决嵌入式系统问题是很有用的. fsf.org--自由软件基金会. gpl-violations.org--通用公共授权侵权项目,宗旨是针对GPL"提高对过去和现在的侵权的认识",据网站所述,它"仍然只是一个人的努力". keegan.org/jeff/tivo/hackingtiv

《Linux嵌入式实时应用开发实战(原书第3版)》——2.5 安装过程

2.5 安装过程 不管你选择的安装方案或安装介质是什么,安装过程是大致相同的.这里描述Fedora的安装,但是安装其他的发行版也是类似的: 下载发行版介质(见2.6节).这可能是一个.iso文件.一个DVD或激活 CD的精确映像. 将.iso文件写入到相应的物理介质上.你需要一个磁盘烧写程序将 .iso文件转移到物理介质.在虚拟机的环境中,你可以直接挂接.iso文件,就和操作一个DVD或CD一样. 从安装介质开始启动计算机或者单击激活 CD中的安装图标.你可能需要配置PC的BIOS为从光驱启动.