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

简介:

本节书摘来自华章计算机《Linux嵌入式实时应用开发实战(原书第3版)》一书中的第3章,第3.2节,作者:(美)Doug Abbott 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.2 Linux属性

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

  • 多任务。Linux调度器执行真正的、抢占式多任务,就是说当高优先级的进程准备好时,它将产生异步事件中断当前运行的进程。但是尽管它是抢占式的,由于内核中有相对较大的延迟,这使得它不适用于严格的实时应用。另外,默认的调度程序执行公平策略,给每个进程执行的机会。
  • 多用户。UNIX已发展为一个分时系统,允许多个用户共享一台昂贵的(在当时)计算机。因此,该系统有一些属性是支持隐私和数据保护的。Linux保留了这一点,并在服务器环境中得到了很好的应用。
  • 多进程。Linux为对称多处理提供广泛的支持,这里多个处理器通过一个共享的存储总线紧耦合。这一点在多核处理器的时代尤其重要。
  • 存储器保护。每个Linux进程都只允许在其私有存储器空间上运行,而不允许直接访问其他进程的存储器空间。这阻止了一个进程中的野指针破坏另一个进程的存储空间。错误的访问受到处理器存储保护硬件的阻止,会有相应的通知终止进程。
  • 等级文件系统。所有的现代操作系统,即使是DOS,都有等级(hierarchical)文件系统。但是Linux/UNIX模式在我们熟悉的传统的PC操作系统上增加了两个很好的特性:
  • 链接。简单地说,一个链接就是一个文件系统入口,它指向另一个文件,但本身不是一个文件。链接是一个有用的抽象机制和在多个用户间共享文件的一种方法。它们在从多个可选文件中选择配置方案时也有广泛的应用。
  • 设备独立的I/O。同样,这也不是新概念,但是Linux应用了这个概念的一个逻辑结论,即将每个外围设备都作为文件系统的入口。从应用的角度看,在写文件和写打印机之间完全没有什么不同。
相关文章
|
14天前
|
机器学习/深度学习 自然语言处理 Linux
【专栏】Linux 中的机器学习:Whisper适用于语音助手、翻译等领域,随着技术发展,其应用前景广阔
【4月更文挑战第28天】本文探讨了在Linux环境下,先进自动语音识别系统Whisper的运用与实现高效ASR。Whisper基于PyTorch,支持多语言识别,具有高准确性和实时性。文中介绍了安装配置Whisper的步骤,包括安装依赖、下载代码、配置环境变量及编译安装。通过数据准备、模型训练和识别,可实现语音识别功能。Whisper适用于语音助手、翻译等领域,随着技术发展,其应用前景广阔。
|
3天前
|
Linux 编译器 调度
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
本文介绍了如何将POSIX应用程序编译为在Xenomai实时内核上运行的程序。
18 1
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
|
3天前
|
消息中间件 存储 Linux
linux实时应用如何printf输出不影响实时性?
本文探讨了Linux实时任务中为何不能直接使用`printf(3)`,并介绍了实现不影响实时性的解决方案。实时任务的执行时间必须确定且短,但`printf(3)`的延迟取决于多个因素,包括用户态glibc缓冲、内核态TTY驱动和硬件。为确保实时性,通常将非实时IO操作交给低优先级任务处理,通过实时进程间通信传递信息。然而,即使这样,`printf(3)`在glibc中的实现仍可能导致高优先级任务阻塞。Xenomai 3提供了一个实时的`printf()`实现,通过libcobalt库在应用编译链接时自动处理,预分配内存,使用共享内存和线程特有数据来提高效率和实时性。
13 0
linux实时应用如何printf输出不影响实时性?
|
4天前
|
Linux 开发工具 数据安全/隐私保护
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
|
5天前
|
安全 Linux Shell
Linux常用命令详解与实战应用
【5月更文挑战第7天】本文详述了Linux常用命令,包括文件与目录操作(ls, cd, pwd, cp, mv, rm)、文本处理(cat, grep, sed)及系统管理(top, df, du)命令。通过实例演示了如何使用这些命令,帮助读者理解和掌握Linux操作,提升系统管理效率。学习和熟练运用这些基础命令,是高效使用Linux的关键。
|
11天前
|
Linux Shell 调度
【Linux系列】fork( )函数原理与应用详解——了解【父子进程及其特性】(代码演示,画图帮助理解,思维导图,精简)(11)
【Linux系列】fork( )函数原理与应用详解——了解【父子进程及其特性】(代码演示,画图帮助理解,思维导图,精简)(11)
|
12天前
|
Ubuntu 算法 Linux
嵌入式Linux的学习误区
该文指出了学习嵌入式Linux开发的两个常见误区。一是过分专注于学习桌面或服务器版Linux,而非关注嵌入式开发本身,实际上只需熟悉基本操作即可。二是试图在没有基础的情况下直接阅读Linux内核源代码,这是不切实际的,应先建立基础知识再进行源码学习。文章还提到了在嵌入式系统中获取和处理屏幕数据的示例,包括使用gsnap工具将framebuffer数据转为图像,以及涉及的交叉编译过程。
11 0
|
12天前
|
安全 Linux
【亮剑】`chattr`是Linux中用于管理文件和目录扩展属性的命令,影响文件系统处理方式
【4月更文挑战第30天】`chattr`是Linux中用于管理文件和目录扩展属性的命令,影响文件系统处理方式。常用属性包括:`a`(追加)、`i`(不可变)、`s`(安全删除)和`S`(同步更新)。通过`chattr [选项] <模式> <文件或目录>`设置属性,如`chattr +i <文件名>`使文件不可变,`-i`移除不可变属性。`lsattr`用于查看属性。注意,只有root用户有权更改属性,不是所有文件系统都支持所有属性,且更改关键文件属性前应备份。`chattr`有助于提升系统安全性和数据保护。
|
12天前
|
存储 缓存 Linux
linux几种典型应用对系统资源使用的特点
【4月更文挑战第22天】几种典型应用对系统资源使用的特点
24 1
|
13天前
|
Linux Shell 应用服务中间件
LINUX的应用与实践
LINUX的应用与实践
18 0