Unix文件的类型
1.普通文件
2.目录
3.符号链接
4.面向块的设备文件
5.面向字符的设备文件
6.管道和命名管道
7.套接字

点评:不明觉厉

打开文件
进程只能访问“打开的”文件。为了打开一个文件,进程调用
fd = open(path,flag,mode)
path表示被打开的文件的路径。
flag表示打开的方式,它也指定是否应当创建一个不存在的文件。
mode指定新创建文件的访问权限。

关闭文件
当进程无需再访问文件的内容时,就调用系统调用:
res = close(fd)

更名及删除文件
要重新命名或删除一个文件时,进程不需要打开它。这样的操作并没有对这个文件的内容起作用,而是对一个或多个目录的内容起作用。
res = rename(oldpath,newpath)
改变了文件链接的名字,而系统调用:
res = unlink(pathname)
减少了文件的链接数,删除了相应的目录项。只有当链接数为0时,文件才被真正删除。

虚拟内存的优点
若干个进程可以并发地执行。
应用程序所需内存大于可用物理内存时也可以运行。
程序只有部分代码装入内存时进程可以执行它。
允许每个进程访问可用物理内存的子集。
进程可以共享库函数或程序的一个单独内存映像。
程序可以编写与机器无关的代码,因为他们不必关心有关物理内存的组织结构。

进程虚拟地址空间处理
内核分配给进程的虚拟地址空间由以下内存区组成:
程序的可执行代码
程序的初始化数据
程序的未初始化数据
初始程序栈
共享库的可执行代码和数据
堆(由程序动态请求的内存)

设备驱动程序
通过特定的接口,每个驱动程序与内核中的其余部分相互作用
优点如下:
可以把特定设备的代码封装在特定的模块中。
厂商可以在不了解内核源码而只知道接口规范的情况下,就能增加新的设备。
内核以统一的方式对待所有的设备,并且通过相同的接口访问这些设备。
可以把设备驱动程序写成模块,并动态地把它们装进内核而不需要重新启动系统。不再需要时,亦可以动态地卸下模块。

小结:

通过阅读,感觉系统内部的奥秘蛮好玩的,能够更深刻的认识linux系统的原理,以及windows系统。都是相通的!!!由表及里的研究!!!

《深入Linux内核》 UNIX的一些故事的更多相关文章

  1. 调皮的程序员:Linux之父雕刻在Linux内核中的故事

    本文内容由公众号“格友”原创分享. 1.引言   (不羁的大神,连竖中指都这么帅) 因为LINUX操作系统的流行,Linus 已经成为地球人都知道的名人.虽然大家可能都听过钱钟书先生的名言:“假如你吃 ...

  2. 故事 --- Linux和UNIX之间的那些爱恨与情仇

    Linux和UNIX具体有哪些关系及区别? UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 ...

  3. Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...

  4. Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...

  5. 对Linux(Unix)的基础知识归纳

    前言,不论是原生APP(Android&IOS),还是大型架构级基础环境(.NET&J2EE,或LAMP阵营等), 基本都不可避免的涉及到Linux(Unix),故还是觉得有必要把自己 ...

  6. 20135239 益西拉姆 linux内核分析 可执行程序的装载

    益西拉姆 + 原创作品请勿转载 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” week 7 可 ...

  7. 期末总结20135320赵瀚青LINUX内核分析与设计期末总结

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 对LINUX内核分析与设计这 ...

  8. 陈莉君教授: 回望踏入Linux内核之旅

    本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 陈莉君 来源: 微信公众号linux阅码场(id: linuxdev) 初次踏入Linux 几多耕耘,几多收获 ...

  9. 【转载】我为什么放弃了 Linux 内核学习?

    最近学习内核很是心累,碰巧看到这篇文章,有点意思~ 转自http://happypeter.github.io/index.html,以下为原文内容: 我在国内的技术类网站 / 博客上, 时常会看到分 ...

  10. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

随机推荐

  1. Google代码实验室

    https://code.google.com/p/google-styleguide/

  2. 服务器证书安装配置指南(IIS7.5) 分类: ASP.NET 2014-11-05 12:39 105人阅读 评论(0) 收藏

    1.启动IIS管理器,点击开始菜单->所有程序->管理工具->Internet信息服务(IIS)管理器: 2.选择"服务器证书": 3.在右边窗口,选择" ...

  3. C# DataTable去除重复,极其简便、简单

    其中sourceDT是获取到的一个DataTable类型的集合对象 去重复使用方式: 实例化一个DataView对象 假设为dv,直接dv.ToTable()即可,ToTable中可为(true,&q ...

  4. 工欲善其事必先利其器之Xcode高效插件和舒适配色

    功能强大的Xcode再配上高效的插件,必会让你的开发事半功倍.直接进入正题. Xcode插件安装方式: 1.github下载插件然后用xcode打开运行一遍,然后重启xcode. 2.安装插件管理Al ...

  5. 【原】ios tableViewCell 自适应高度

    原文:http://www.cnblogs.com/A--G/p/4819051.html 前言:之前在做一个类似微博的小需求时候,用table view实现了微博文字和图片等等的基本展示,由于文字和 ...

  6. 使用soapUI代替WSDL2JAVA生成cxf HTTPS 客户端调用代码

    如果直接用cxf下面的wsdl2java生成https服务调用代码,会报https证书的错误.在你不想导入证书的情况下,可以使用soapUI进行客户端代码的生成,步骤如下: 1.设置CXF,如下图: ...

  7. (java)从零开始之--装饰者设计模式

    装饰者设计模式:简单定义:增强一个类的功能,而且还可以让这些装饰类互相装饰. 应用场景:当要在某个功能的基础上扩充功能,并且扩充的功能具有大量排列组合,通过继承关系会衍生出大量子类,这时候用装饰者模式 ...

  8. java_设计模式_模板方法模式_Template Method Pattern(2016-08-11)

    定义: 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤.这里的算法的结构,可以理解为你根据需求设计出来的业务流程.特定的步骤就是指那些 ...

  9. Linux fork操作之后发生了什么?又会共享什么呢?

    今天我在阅读<Unix网络编程>时候遇到一个问题:accept返回时的connfd,是父子进程之间共享的?我当时很不理解,难道打开的文件描述符不是应该在父子进程间相互独立的吗?为什么是共享 ...

  10. Vijos1523 NOI2002 贪吃的九头龙 树形dp

    思路不算很难,但细节处理很麻烦 前面建图.多叉转二叉,以及确定dp处理序列的过程都是套路,dp的状态转移过程以注释的形式阐述 #include <cstdio> #include < ...