摘要: 实验五:Linux操作系统是如何工作的?学号:SA1****369操作系统工作的基础:存储程序计算机、堆栈(函数调用堆栈)机制和中断机制 首先要整明白的一个问题是什么是存储程序计算机?其实存储程序计算机正是冯.诺依曼最初提出的计算机体系模型,现在我们一提到冯.诺依曼体系结构首先会想到的应该是包含输入设备、输出设备、存储器、控制器、运算器组成的经典模型,但是这里我们强调的存储程序计算机的主要特征实际上并非如此,存储程序计算机的概念相当于是褪去现代计算机华丽的外衣,所呈现出来的实实在在的计算机的本质。主要由处理器和存储器组成,中间以总线相连。 CPU通过总线从存储器中读取指令和数据进行处理,采用的 阅读全文
posted @ 2013-06-27 17:23 吸血鬼的泪 阅读(1761) 评论(3) 推荐(0) 编辑
摘要: 因为操作系统的很多操作会消耗系统的物理资源,例如创建一个新进程时,要做很多底层的细致工作,如分配物理内存,从父进程拷贝相关信息,拷贝设置页目录、页表等,这些操作显然不能随便让任何程序都可以做,于是就产生了特权级别的概念,与系统相关的一些特别关键性的操作必须由高级别的程序来完成,这样可以做到集中管理,减少有限资源的访问和使用冲突。Intel的X86架构的CPU提供了0到3四个特权级,而在我们Linux操作系统中则主要采用了0和3两个特权级,也就是我们通常所说的内核态和用户态。 运行于用户态的进程可以执行的操作和访问的资源都受到极大的限制,而运行于内核态的进程则可以执行任何操作并且在资源的使用.. 阅读全文
posted @ 2013-06-27 11:50 吸血鬼的泪 阅读(14801) 评论(2) 推荐(3) 编辑
摘要: 实验环境:ubuntu 12.04 LTS内核版本:linux-3.9.4 因为一直以来都对Linux的工作机理比较感兴趣,所以正好这两天有机会好好的研究一下,那闲话不多说,直接进入正题。 俗话说的好,公欲善其事,必先利其器。那么对于一个系统内核级的修改与研究必然不能从自己机器中正在运行的内核下手,这样一旦发生错误,将导致内核崩溃,无法启动,这个后果稍微有些严重。所以重新编译一个用于实验的内核是非常必要的。这里详见Linux学习之内核编译与添加系统调用。 对于本次的任务,一个模拟器也是非常必要的,这里主要是采用qemu模拟器。这个模拟器在linux下很常用,这里不再赘述。 当编译内核... 阅读全文
posted @ 2013-06-20 16:17 吸血鬼的泪 阅读(2278) 评论(2) 推荐(0) 编辑
摘要: 此文章是我在安装ncurses的时候搜索到的一篇文章,比较好,所以我就收藏到我的日志里.也算是学习了一下,至少现在知道怎么安装一些相关的东西,最开始的时候是在make menuconfig的时候发现找不到menuconfig这个命令,由于没有安装ncurses,才有这样的结论.然后试图在网上找一些文章来查看,很多都是说得不是很系统条理,又尤其我是下载的tar.gz压缩包,很多文章基本就没有说这个的安装方法,大多数都是选择说rpm的安装.还好,遇见了这篇文章.你可以链接此处查看: http://dev.csdn.net/article/70105.shtmNCURSES库简介 1、 介绍在那个广 阅读全文
posted @ 2013-06-03 10:49 吸血鬼的泪 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 说来惭愧,前几天编程序,犯了一个比较低级的错误,结果导致折腾了一上午来解决这个问题,最后发现,问题主要是出在对于指针的初始化认识的不够深刻,遂现在记录之,以便于时刻提醒自己。 指针在C语言编程中的重要性在这里自不必多说,单单有一本非常经典的C语言编程书籍叫《C和指针》便可体现出来。指针看似简单,但是却常常是整个程序走不通的主要原因。所以,认识指针一定不能只是单单的停留在表面的概念和定义上,知道指针变量所存储的值是所指向的地址值,知道间接访问,这些是远远不够的,应该能够透过指针华丽的外衣,裸视指针! 而在指针中,我个人认为最难理解的实际上是指针的定义和初始化,为什么这么说?直接上例子。 就以.. 阅读全文
posted @ 2013-06-01 11:24 吸血鬼的泪 阅读(1483) 评论(2) 推荐(1) 编辑
摘要: SA1***6*69 张*铭实验环境:ubuntu 12.04 LTS 当在Linux下编写一个源程序,经过编译链接之后生成可执行程序,在终端shell命令行下输入./(可执行程序的名字)来执行的过程,实际上是shell创建一个子进程,在子进程中加载可执行程序进行执行的过程,具体的子进程加载可执行程序之前的准备工作过程以及fork、exec的工作原理分别在 Linux操作系统学习_用户进程之由新进程创建到可执行程序的加载Linux操作系统学习_用户进程之fork()与exec函数族篇1、task_struct进程控制块 为了管理进程,内核必须对每个进程所做的事情进行清楚的描述,这正是进程描述符 阅读全文
posted @ 2013-05-30 21:47 吸血鬼的泪 阅读(1635) 评论(0) 推荐(1) 编辑