Linux内核直接与硬件干涉,深入理解Linux内核

  • Post author:
  • Post category:linux


深入理解Linux内核

概述

第一章 绪论

GNU项目

Linux和其他类Unix内核的比较

硬件的依赖性

Linux版本

操作系统的基本概念

内核(kernel)、过程(procedure)

操作系统的主要目标

与硬件部分相互作用,为所有包含在硬件平台的底层可编程不见提供服务

为运行在计算机系统的应用程序提供一个执行环境

类Unix操作系统在用户应用程序前把计算机物理组织相关的所有底层细节隐藏起来,当程序想使用硬件资源时,必须向操作系统发出一个请求。内核对这个请求进行评估,如果允许使用这个资源,那么,内核代表应用程序与相关的硬件部分进行交互。为实现这种机制,现代操作系统依靠特殊的硬件特性来禁止用户程序直接与底层硬件部分打交道,或者直接访问任意的物理地址。硬件为CPU引入了至少两种不同的执行模式:用户程序的非特权模式和内核的特权模式。Unix把它们分别称为用户态(User Mode)和内核态(Kernel Mode)

多用户系统

并发:竞争各种资源、独立:每个应用程序执行自己的任务

特点:

认证机制,核实用户身份

一个保护机制,防止有错误的用户程序妨碍其他应用程序在系统中运行

一个保护机制,防止有恶意的用户程序干涉或窥视其他用户的活动

记账机制,限制分配给每个用户的资源数

用户和组

用户标识符(User ID)组标识符(Group ID)

root 超级用户(superuser)

进程

定义:执行程序的一个实例

内核体系结构

单模块

Unix文件系统概述

文件:以一列字节组成的信息载体,内核不解释文件的内容。

硬链接和软链接

文件类型

正规文件

目录

符号链

块设备文件

字符设备文件

管道(pipe)和命名管道(named pipe)(FIFO)

套接字(socket)

文件描述符和索引节点

文件系统用来管理文件的所有信息包含在一个叫做索引节点的数据结构中。

索引节点至少包含:

文件类型

与文件相关的硬链接个数

以字节为单位的文件长度

设备描述符

用来在文件系统中标识文件的索引节点号

文件拥有者的UID

文件的GID

几个时间标记

访问权限和文件模式

访问权限和文件模式

文件潜在的用户分为三种类型:

作为这个文件的拥有者

同组用户,不包括所有者

所有剩下的用户

访问权限:读、写及执行

文件访问权限就用九种不同的二进制来标记,还有三种附加的标记:suid(Set User ID)、sgid(Set Group ID)、sticky(用来定义文件模式)

文件操作的系统调用

打开一个文件

fd = open(path, flag, mode)

访问一个打开的文件

read() write() lssek()

关闭文件

res = close(fd)

更名及删除文件

res = rename(oldpath, newpath)

res = unlink(pathname)

第二章 Intel80x86处理器

原文:https://www.cnblogs.com/luoxiao23/p/11078842.html