LINUX 系统调用
什么是系统调用
顾名思意,系统调用说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置系统时间等。
从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内核把请求处理完毕后再将处理结果送回给用户空间。
系统服务之所以需要通过系统调用提供给用户空间的根本原因是为了对系统“保护”,因为我们知道Linux的运行空间分为内核空间与用户空间,它们各自运行在不同的级别中,逻辑上相互隔离。所以用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用户用空间函数。比如我们熟悉的“hello world”程序(执行时)就是标准的户空间进程,它使用的打印函数printf就属于用户空间函数,打印的字符“hello word”字符串也属于用户空间数据。
但是很多情况下,用户进程需要获得系统服务(调用系统程序),这时就必须利用系统提供给用户的“特殊”接口——系统调用了,它的特殊性主要在于规定了用户进程进入内核的具体位置;换句话说用户访问内核的路径是事先规定好的,只能从规定位置进入内核,而不准许肆意跳入内核。有了这样的陷入内核的统一访问路径限制才能保证内核安全无虞。我们可以形象地描述这种机制:作为一个游客,你可以买票要求进入野生动物园,但你必须老老实实的坐在观光车上,按照规定的路线观光游览。当然,不准下车,因为那样太危险,不是让你丢掉小命,就是让你吓坏了野生动物。
Linux的系统调用
对于现代操作系统,系统调用是一种内核与用户空间通讯的普遍手段,Linux系统也不例外。但是Linux系统的系统调用相比很多Unix和windows等系统具有一些独特之处,无处不体现出Linux的设计精髓——简洁和高效。
Linux系统调用很多地方继承了Unix的系统调用(但不是全部),但Linux相比传统Unix的系统调用做了很多扬弃,它省去了许多Unix系统冗余的系统调用,仅仅保留了最基本和最有用的系统调用,所以Linux全部系统调用只有250个左右(而有些操作系统系统调用
相关文档:
目 录
1.1 前言:... 4
1.2 安装及配置步骤:... 4
1.2.1 :安装准备... 4
1.2.2 :安装方式选择... 4
1.2.3 :光盘检测... 5
1.2.4 :欢迎界面... 5
1.2.5 :选择安装过程的语言。... 6
1.2.6 :键盘和鼠标设置... 6
1.2.7 :磁盘分区方式选择... 7
1.2.8 :格式化确认信息... 8
1.2.9 :建分区... 8
1. ......
1.安裝fedora 11(里面的PHP版本适合安装MAGENTO) 如果安装别的版本,升级上就很有问题
2.安装需要的程序
yum install php-mcrypt
yum install php-gd
yum install php-dom
3.利用magento-check.php检查能够安装magento
4.启动MYSQLA数据库 ser ......
摘自http://blog.chinaunix.net/u3/108043/showart_2125958.html
Linux系统Load average负载详细解释
我们知道判断一个系统的负载可以使用top,uptime等命令去查看,它分别记录了一分钟、五分钟、以及十五分钟的系统平均负载
例如我的某台服务器:
$ uptime
09:50:21 up 200 days, 15:07, 1 user, load averag ......
本文介绍在GNU/Linux环境下一个C程序由源代码到程序,到加载运行,最后终止的过程。同时以此过程为载体,介绍GNU/Linux平台下软件开发工具的使用。
本文以我们最常见的hello, world!为例:
#include <stdio.h>
main ()
{
printf(“hello, world!\n” ......