linux内核学习(一步一步走)——内核概述
一、用户空间与内核空间:
用户通过用户空间与操作系统打交道,程序员开发或使用的应用程序位于用户空间。用户空间不能直接访问内核,从而不能访问硬件资源,但是可以通过内核定义的最外层例程——系统调用来访问。
内核空间是硬件管理功能发挥作用的区域。
二、用户标识符
用户以唯一的帐号名登陆,还可以关联一个唯一的用户ID(UID).内核用这个UID验证用户的文件访问权限。
用户也是一个或多个组的成员,每个组都有其唯一的组ID(GID)。
三、文件类型
1.普通文件(regular file)在模式字段的第一个字符用破折号表示(eg, -rw-rw-rw)。
2.目录(directory)文件在模式字段的第一个字符用“d”表示(eg,drwx--),其中存放文件名和文件索引结点之间的关联关系。
3.块设备(block device)文件在模式字段的第一个字符用“b”(eg,brw---)。表示硬件设备,其I/O是以2的幂次方数据块大小进行传送的.
4.字符设备(character device)文件在模式字段的第一个字符用“c”表示(eg,crw--),表示硬件设备,数据不是以块组织的,I/O是以字节流发送的.
5.链接(link)文件在模式字段的第一个字符用“l”表示(eg,lrw---),链接就是指向文件的指针.
6.命名管道文件在模式字段的第一个字符用“p”表示(eg,prw--),它作为数据管道方便程序之间的通信
7.套接字(socket)文件在模式字段的第一个字符用“s”表示(eg,srw--)
四、文件模式
1.sticky
启用了sticky位的文件在mode字段的最后一个字符为“t”(eg,-rwx-----t)。可执行文件可以启用sticky位,以确保可以让它待在内存,而不管它的执行状态。当这应用到一个频繁使用的程序时,就会提高性能,因为减少了磁盘访问文件信息所花费的时间。
2.suid
如果设置了suid位,那么用户访问权位“x”变为“s”(eg,-rws---).当用户执行了一个可执行文件时,执行程序就会与调用这个文件的用户关联起来。
3.sgid
如果设置了sgid位,那么用户组访问权位上可执行位"x"变为“s”(eg,-rwxrws),类似suid,它用于组
linux内核学习(一步一步走)——内核概述的更多相关文章
- 嵌入式Linux驱动学习之路(六)u-boot启动内核
内核启动是需要必要的启动参数.不能开机自动完全从0开始启动,需要uboot帮助内核实现重定位并提供参数. 首先,uboo会从Kernel分区中读取bootcmd环境变量,根据环境变量可自动启动. 分区 ...
- Linux内核学习笔记(1)-- 进程管理概述
一.进程与线程 进程是处于执行期的程序,但是并不仅仅局限于一段可执行程序代码.通常,进程还要包含其他资源,像打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间及一个 ...
- linux内核学习之二:编译内核
在linux内核学习系列的第一课中讲述了搭建学习环境的过程(http://www.cnblogs.com/xiongyuanxiong/p/3523306.html),环境搭好后,马上就进入到下一环节 ...
- Linux网络编程&内核学习
c语言: 基础篇 1.<写给大家看的C语言书(第2版)> 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: ...
- 12.Linux软件安装 (一步一步学习大数据系列之 Linux)
1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...
- Linux内核学习之路
每当学习到一定阶段自己觉得还行时,就会搜一些别人的文章. 这篇文章是原作者14年3月写的.转过来与自己共勉.学习累了就换着学也挺好 原文: 现在回首看看,接触Linux已经很长时间了. 在大三的时候开 ...
- Linux 内核学习经验总结
Linux 内核学习经验总结 学习内核,每个人都有自己的学习方法,仁者见仁智者见智.以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下. 内核学习,一偏之见:疏漏难 ...
- linux内核学习之一:环境搭建--安装Debian7.3
本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基础知识及基本shell命令:现代操作系统的基本概念:C语言和gc ...
- 【Linux】一步一步学Linux——Linux版本(03)
目录 00. 目录 01. Linux内核版本 02. Linux内核官方网站 03. Linux发行版本 04. Linux发行版本介绍 4.1 Ubuntu 4.2 RedHat 4.3 Debi ...
- 【Linux】一步一步学Linux——Linux发展史(01)
目录 00. 目录 01. Linux概述 02. Linux简史 03. Linux主要特性 04. Linux之父 05. Linux相关术语 06. Linux其它 07. Linux应用领域 ...
随机推荐
- BEvent_客制化BusinessEvent通过Workflow Event接受消息传递(案例)
2014-08-03 Created By BaoXinjian
- Shell_Oracle Erp基于主机文件Host开发详解(案例)
2014-06-20 Created By BaoXinjian
- NeHe OpenGL教程 第三十一课:加载模型
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- python(15)提取字符串中的数字
python 提取一段字符串中去数字 ss = “123ab45” 方法一:filter filter(str.isdigit, ss) 别处copy的filter的用法: # one>> ...
- 转-Android联网 — HttpURLConnection和HttpClient选择哪个好?
http://www.ituring.com.cn/article/199619?utm_source=tuicool 在Android开发中,访问网络我们是选择HttpURLConnection还是 ...
- ylbtech-dbs:ylbtech-4,PurpleHouse(房地产楼盘销售系统)
ylbtech-dbs:ylbtech-4,PurpleHouse(房地产楼盘销售系统) -- =============================================-- Crea ...
- SQL Server查询死锁并KILL
杀掉死锁的sqlserver进程 SELECT request_session_id spid,OBJECT_NAME (resource_associated_entity_id)tableNa ...
- iOS 批量打包--Shell脚本
由于公司有批量打包的需要,只是渠道号不一样,网上搜索一番,大致有两个方式:a) 从源程序一次性打出所有渠道的ipa包,大概的思路就是利用脚本循环执行打包过程,而每次打包前都通过脚本修改项目中存放渠道号 ...
- by which, in which, from which 语法区别
(1)Here is Beijing,where I grow up.where其实也是指代北京,不过where是在北京的意思,也就是 in Beijing (2)Here is Beijing,in ...
- Android应用框架浅析
http://blog.csdn.net/yanbober/article/category/3206943 Android应用层View绘制流程与源码分析 http://blog.csdn.ne ...