这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 III 篇,本文主要讲了以下问题:系统调用的概念、系统调用的实现原理与过程以及如何在 Linux 中增加一个系统调用。
0x00 系统调用的概念系统调用是为了和用户空间上的进程进行交互,内核提供的一组界面。
应用程序通过这组界面访问硬件和其他操作系统资源
完成对硬件和资源的访问控制
硬件设备的抽象(提供设备的独立性)
0x01 系统调用简...
分类:
系统相关 时间:
2016-06-25 11:04:07
阅读次数:
183
tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和 .tgz 解压 ...
分类:
系统相关 时间:
2016-06-25 10:56:20
阅读次数:
199
VisualGDB支持Linux的原理是,通过ssh连接到Linux系统上通过ssh给linux下达命令 . (类似visualgdb的有windgb ,这2个都是商业软件。) Visual GDB把GDB调试工具集成到visual studio 开发环境中,在调试过程中,可以使用visual st ...
分类:
系统相关 时间:
2016-06-25 10:54:23
阅读次数:
151
原文链接:Yii中文网(yii-china.com)[文档] 安装扩展 安装Yii最好的方式就是使用Composer安装,所以我们需要安装Composer,但是为了安装Composer,我们需要安装一下关于Composer和Yii2的许多扩展包,别担心下面的教程会教你所有的步骤。我们大部分的工作都是 ...
分类:
系统相关 时间:
2016-06-25 10:48:54
阅读次数:
230
要使用键盘快捷键,请按住一个或多个修饰键,同时按快捷键的最后一个键。例如,要使用快捷键 Command-C(拷贝),请按住 Command 键并按 C 键,然后同时松开这两个键。Mac 菜单和键盘通常使用符号来代表某些按键,其中包括以下修饰键: Command ? Shift ? Option ? ...
分类:
系统相关 时间:
2016-06-25 10:45:47
阅读次数:
258
nl命令在Linux系统中用来计算文件中行号。nl可以将输出的文件内容自动的加上行号,其默认的结果与cat -n 有点不太一样,nl可以将行号做比较多的显示设计,包括位数与是否自动不起0等等的功能。 1.命令格式: nl [选项] [文件] 2.命令参数: -b 指定行号指定的方式,主要有两种: - ...
分类:
系统相关 时间:
2016-06-25 10:47:00
阅读次数:
173
Linux的rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了, 由于历史原因,在Perl语言大红大紫的时候,Linux的工具开发者们信仰Perl能取代C,所以大部分工具原来是C版本的都被Per ...
分类:
系统相关 时间:
2016-06-25 10:46:00
阅读次数:
256
sudo命令用来以其他身份来执行命令,预设的身份为root。 (1)用法: 用法: sudo [参数] [命令] (2)功能: 功能: sudo可以针对单个命令授予临时权限。用户也可以通过su切换到root用户运行命令,su启动一个root shell允许用户运行之后的所有的命令。 1)sudo与s ...
分类:
系统相关 时间:
2016-06-25 09:36:11
阅读次数:
533
在不用重新编译php,利用php扩展ext的文件中 找到openssl, 把里面的config0.m4文件复制一份名为config.m4, 然后利用./configure --with-php-config=php-config的文件目录 --with-openssl, 生成configure文件, ...
分类:
系统相关 时间:
2016-06-25 09:37:11
阅读次数:
189
mkdir 目录名 => 创建一个目录 rmdir 空目录名 => 删除一个空目录 rm 文件名 文件名 => 删除一个文件或多个文件 rm –rf 非空目录名 => 删除一个非空目录下的一切 touch 文件名 => 创建一个空文件 重命名文件(夹) / 移动文件(夹)到指定文件夹 执行格式: m ...
分类:
系统相关 时间:
2016-06-25 09:36:14
阅读次数:
250
第一章 绪论 Linux与其他类Unix内核的比较 硬件的依赖性 Linux版本 操作系统基本概念 Unix文件系统概述 Unix内核概述 第二章 内存寻址 内存地址 硬件中的分段 Linux中的分段 硬件中的分页 Linux中的分页 第三章 进程 进程、轻量级进程和线程 进程描述符 进程切换 创建 ...
分类:
系统相关 时间:
2016-06-25 09:31:53
阅读次数:
220
1.背景Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条..
分类:
系统相关 时间:
2016-06-25 06:19:47
阅读次数:
286
Linux内核学习,推荐的书籍: 《linux设备驱动开发详解第二版》、《Linux内核设计与实现第三版》、《嵌入式Linux应用开发完全手册》 第一篇:讲解Linux内核的基础知识,先有一个整体的框架,后续会逐步讲解,一步步深入。 1.物理地址和虚拟地址 地址转换:内核所使用的地址一定是虚拟地址, ...
分类:
系统相关 时间:
2016-06-25 06:12:59
阅读次数:
208
一、什么是Linux内核: 内核->操作系统中最重要的部分,内核将在系统引导时被装载进RAM,其中包含了很多关键的例程,以操作系统。内核是OS最为关键的部分,人们常将OS(操作系统)与内核等同。 内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和 ...
分类:
系统相关 时间:
2016-06-25 06:14:45
阅读次数:
247
Linux OS是基于Unix系统开发而来,我们知道计算机是昂贵与稀缺的资源,所以一台计算机就要满足多个用户同时使用,即多用户的系统的思想。 实现方式:通过分时共享的策略。即让多个用户可以同时使用一台计算机。该分时共享策略,使得机器即使只有一个用户,也可以同时运行多个任务,响应多个进程。 Linux ...
分类:
系统相关 时间:
2016-06-25 06:11:52
阅读次数:
144
内核必须实现一组服务和相应的接口,应用程序则可以使用这些接口,而不是直接与硬件打交道。 Linux内核主要由以下5个子系统组成:进程调度、内存管理、虚拟文件系统、进程间通信以及设备驱动。 在这个组成中,最核心的就是进程管理->进程调度和进程间通信。 在Linux系统中,我们编写的任何应用层程序,不管 ...
分类:
系统相关 时间:
2016-06-25 06:11:37
阅读次数:
174
Linux内核是可重入的,这意味着几个进程可能同时在内核模式下执行。(当然单处理器系统,在某一时间只会有一个进程执行,但许多会阻塞在内核模式)这些进程会分时共享CPU、I/O设备等系统资源,给用户的感觉就像是在同时运行。 提供可重入代码的方法: 编写的函数都只会影响到局部变量,而不能改变全局的数据结 ...
分类:
系统相关 时间:
2016-06-25 06:11:37
阅读次数:
267