一、用户空间与内核空间:

用户通过用户空间与操作系统打交道,程序员开发或使用的应用程序位于用户空间。用户空间不能直接访问内核,从而不能访问硬件资源,但是可以通过内核定义的最外层例程——系统调用来访问。

内核空间是硬件管理功能发挥作用的区域。

二、用户标识符

用户以唯一的帐号名登陆,还可以关联一个唯一的用户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内核学习(一步一步走)——内核概述的更多相关文章

  1. 嵌入式Linux驱动学习之路(六)u-boot启动内核

    内核启动是需要必要的启动参数.不能开机自动完全从0开始启动,需要uboot帮助内核实现重定位并提供参数. 首先,uboo会从Kernel分区中读取bootcmd环境变量,根据环境变量可自动启动. 分区 ...

  2. Linux内核学习笔记(1)-- 进程管理概述

    一.进程与线程 进程是处于执行期的程序,但是并不仅仅局限于一段可执行程序代码.通常,进程还要包含其他资源,像打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间及一个 ...

  3. linux内核学习之二:编译内核

    在linux内核学习系列的第一课中讲述了搭建学习环境的过程(http://www.cnblogs.com/xiongyuanxiong/p/3523306.html),环境搭好后,马上就进入到下一环节 ...

  4. Linux网络编程&内核学习

    c语言: 基础篇 1.<写给大家看的C语言书(第2版)> 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: ...

  5. 12.Linux软件安装 (一步一步学习大数据系列之 Linux)

    1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...

  6. Linux内核学习之路

    每当学习到一定阶段自己觉得还行时,就会搜一些别人的文章. 这篇文章是原作者14年3月写的.转过来与自己共勉.学习累了就换着学也挺好 原文: 现在回首看看,接触Linux已经很长时间了. 在大三的时候开 ...

  7. Linux 内核学习经验总结

    Linux 内核学习经验总结 学习内核,每个人都有自己的学习方法,仁者见仁智者见智.以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下. 内核学习,一偏之见:疏漏难 ...

  8. linux内核学习之一:环境搭建--安装Debian7.3

    本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基础知识及基本shell命令:现代操作系统的基本概念:C语言和gc ...

  9. 【Linux】一步一步学Linux——Linux版本(03)

    目录 00. 目录 01. Linux内核版本 02. Linux内核官方网站 03. Linux发行版本 04. Linux发行版本介绍 4.1 Ubuntu 4.2 RedHat 4.3 Debi ...

  10. 【Linux】一步一步学Linux——Linux发展史(01)

    目录 00. 目录 01. Linux概述 02. Linux简史 03. Linux主要特性 04. Linux之父 05. Linux相关术语 06. Linux其它 07. Linux应用领域 ...

随机推荐

  1. BEvent_客制化BusinessEvent通过Workflow Event接受消息传递(案例)

    2014-08-03 Created By BaoXinjian

  2. Shell_Oracle Erp基于主机文件Host开发详解(案例)

    2014-06-20 Created By BaoXinjian

  3. NeHe OpenGL教程 第三十一课:加载模型

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. python(15)提取字符串中的数字

    python 提取一段字符串中去数字 ss = “123ab45” 方法一:filter filter(str.isdigit, ss) 别处copy的filter的用法: # one>> ...

  5. 转-Android联网 — HttpURLConnection和HttpClient选择哪个好?

    http://www.ituring.com.cn/article/199619?utm_source=tuicool 在Android开发中,访问网络我们是选择HttpURLConnection还是 ...

  6. ylbtech-dbs:ylbtech-4,PurpleHouse(房地产楼盘销售系统)

    ylbtech-dbs:ylbtech-4,PurpleHouse(房地产楼盘销售系统) -- =============================================-- Crea ...

  7. SQL Server查询死锁并KILL

    杀掉死锁的sqlserver进程   SELECT request_session_id spid,OBJECT_NAME (resource_associated_entity_id)tableNa ...

  8. iOS 批量打包--Shell脚本

    由于公司有批量打包的需要,只是渠道号不一样,网上搜索一番,大致有两个方式:a) 从源程序一次性打出所有渠道的ipa包,大概的思路就是利用脚本循环执行打包过程,而每次打包前都通过脚本修改项目中存放渠道号 ...

  9. by which, in which, from which 语法区别

    (1)Here is Beijing,where I grow up.where其实也是指代北京,不过where是在北京的意思,也就是 in Beijing (2)Here is Beijing,in ...

  10. Android应用框架浅析

    http://blog.csdn.net/yanbober/article/category/3206943 Android应用层View绘制流程与源码分析   http://blog.csdn.ne ...