![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux操作系统分析
文章平均质量分 82
_suzhou
这个作者很懒,什么都没留下…
展开
-
【Linux操作系统分析】进程——进程切换,进程的创建和撤销
1 进程 进程是程序执行时的一个实例,可以把它看作充分描述程序已经执行到何种程度的数据结构的汇集。 从内核的观点看,进程的目的是担当分配系统资源(CPU时间,内存等)的实体。 (早期的系统中)当一个进程创建时,它几乎与父进程相同,执行的下一条指令与父进程父进程相同,但是之后的活动是与父进程没有关系,它们各自有独立的数据拷贝(栈和堆)。 多线程应用程序多个执行流的创建、处理、调度都是在用户态原创 2013-05-24 11:38:45 · 3042 阅读 · 0 评论 -
【Linux操作系统分析】中断和异常(1)——中断描述符表IDT,I/O中断处理,中断向量
1 中断 中断通常被定义为一个事件,该事件改变处理器执行的指令顺序。 中断通常分为同步中断和异步中断。 同步中断(中断)是当前指令执行时由CPU控制单元产生的,之所以称为同步,是因为只有在一条指令终止执行后CPUT才会发出中断。异步中断(异常)是由其他硬件设备依照CPU时钟信号随机产生的。 分类:中断:分为可屏蔽中断(控制单元会忽略屏蔽的中断)和非屏蔽中断(由CPU辨认)。原创 2013-05-22 09:36:01 · 2144 阅读 · 0 评论 -
浅析Linux操作系统是如何工作的(思维导图)
SA***189 多任务计算机运转机制如下思维导图所示: 小结: Linux操作系统是一个在时钟的节拍下,各个模块紧密协作、密不可分的整体,而整个Linux系统都是建立在存储程序的基础之上,正是有了程序和数据一同存入内存的概念,才有了之后的支持多任务的机制出现。 一个CPU在一个时间只能执行一个任务,这个是由硬件决定的,那么如何在单CPU上运行多个任务,这个主要的实现机原创 2013-06-30 21:44:54 · 2340 阅读 · 1 评论 -
ubuntu13.04更新源
最近163的源出问题了,又要换一次源。 报错如下: 查更新源的命令查了好多次,这次还是记下来吧,估计以后还会用到很多次。 常规来说,是要先备份的,不过感觉备份也没什么用,所以就直接跳过吧。。 1 打开文件 sudo gedit /etc/apt/sources.list 2 添加源地址 选一两个就好了,我一般是网易原创 2013-06-27 00:16:42 · 1780 阅读 · 0 评论 -
【Linux操作系统分析】设备驱动处理流程
1 驱动程序,操作系统,文件系统和应用程序之间的关系 字符设备和块设备映射到操作系统中的文件系统,由文件系统向上提供给应用程序统一的接口用以访问设备。 Linux把设备视为文件,称为设备文件,通过对设备文件的读写操作实现对真实外设的操作。 从驱动程序的角度来从下到上看层次结构,包含了硬件设备,设备驱动程序(中断处理程序,设备服务程序),文件系统和用户进程四个层次:原创 2013-06-17 16:46:51 · 1940 阅读 · 3 评论 -
【折腾ubuntu】Ubuntu12.04安装windows版本的福昕阅读器
福昕阅读器时一款特别好用的pdf阅读器,之所以一直使用虚拟机跑Linux,一部分原因就是因为舍不得windows下面的几个好用的软件,今天试着在Linux下面装一个福昕阅读器,这可能是全面转向Linux,抛弃windows的一个开始。。 在ubuntu下安装exe文件,需要wine这个工具。 1 安装wine工具 1 sudo add-apt-repository ppa:ubunt原创 2013-06-07 14:49:02 · 2898 阅读 · 0 评论 -
【Linux操作系统分析】定时测量——RTC,TSC,PIT,jiffies,计时体系结构,延迟函数
1 基本概念 定时机制连同一些更可见的内核活动(如检查超时)来驱使进程切换。 两种主要的定时测量: 保存当前的时间和日期,以便能通过time(), ftime()和gettimeofday()系统调用把它们返回给用户程序。维持定时器,这种机制能够告诉内核或用户程序某一时间间隔已经过去了。 定时测量是由基于固定频率振荡器和计数器的几个硬件电路完成的。 2 时钟和定时器电原创 2013-06-04 09:06:04 · 3225 阅读 · 0 评论 -
【Git】Git上传本地项目的命令以及non-fast-forward updates were rejected的解决办法
首先在网站中新建了一个project,包含README.md文件,之后的push出错一部分就要归咎于这个文件。 先进行常规的操作,输入命令分别为: git init //在你的项目的根目录中 git add . //添加所有文件到本地服务器中 git commit -m "completed: first integration 2013.06.02" //提交,这时候并原创 2013-06-03 11:24:21 · 1706 阅读 · 0 评论 -
【Linux操作系统分析】Ubuntu12.04内核升级和添加系统调用
1 Ubuntu12.04内核升级 1 准备条件: 安装有Unbuntu12.04的机器或者虚拟机下载最新的稳定版Linux内核源码:下载地址是http://www.kernel.org/,现在最新的稳定版本是3.9.4root权限 2 解压文件到/usr/src文件夹中 因为我是从本地系统直接复制到虚拟机里的这个文件夹中,所以会出现权限问题。要先拷贝到别的权限较低原创 2013-06-02 21:05:30 · 4017 阅读 · 23 评论 -
【Linux操作系统分析】进程的创建与可执行程序的加载
进程的创建与可执行程序的加载 SA***189 周肃 一 进程的创建 进程0是所有进程的祖先。进程1被创建并选择后调用execve()系统调用转入可执行程序init,init进程一直存活,创建和监控在操作系统外层执行的所有进程的活动。 当fork()被调用时,主要由函数do_fork()函数来处理。do_fork()函数的执行原创 2013-05-25 18:17:09 · 1886 阅读 · 0 评论