linux
sodawaterer
这个作者很懒,什么都没留下…
展开
-
库函数与系统调用
系统调用可以解释为操作系统为用户提供的一些接口,这些接口提供了对系统硬件功能的操作。这样说大家可能还有点抽象,我再举一个更具体的例子:比如我要写一个程序,这个程序的功能就是在屏幕上显示一个字符串“hello,world!”。那么实现这么一个在屏幕上显示一个字符串的操作就是系统调用write()的功能。 那么系统调用的意义在哪里呢? 你想想看,你写一个程序还需要自己去实现在屏转载 2016-12-04 20:56:55 · 361 阅读 · 0 评论 -
系统调用过程详解
在上一篇博客中,我们介绍了库函数和系统调用的联系和区别。在这篇博客中,我们将通过分析Linux0.11的源码来理解系统调用的实际执行过程。整个过程如下:首先指令流执行到系统调用函数时,系统调用函数通过int 0x80指令进入系统调用入口程序,并且把系统调用号放入%eax中,如果需要传递参数,则把参数放入%ebx,%ecx和%edx中。进入系统调用入口程序(System_call)后,它首先把相转载 2016-12-04 21:11:01 · 5081 阅读 · 0 评论 -
将vim里的代码复制到外面
原来是用鼠标选择右键复制,但代码多的时候vim不会自动滚屏,需要多次复制。找了一下如何将vim里的内容复制到外部。ubuntu默认安装的vim是不支持系统剪切、粘贴版的,需要执行以下安装:sudo apt-get install vim-gnome此时在vim下执行:reg查看寄存器,如果有“* 和 “+寄存器则表示可以支持系统剪切粘贴板了1.光标在第一个字原创 2017-03-13 15:17:51 · 18652 阅读 · 0 评论 -
deepin下配置eclipse+cdt+jdk
一直在vim下写c代码,配合gcc和gdb用着也还顺手。但写的代码也都不大。自己的vim也没有配置补全和提示功能,慢慢也就怀念ide的那种便捷,linux下用得比较多的就是eclipse了,所以索性配置一下。网上的教程很多,同时,个个教程直接也各不相同。自己尝试了,把成功了的一个流程写下来,方便自己以后参考。流程gcc和g++ jdkeclipsecdt原创 2017-03-12 22:29:09 · 1379 阅读 · 0 评论 -
关于unix网络编程第六章select与stdio混用会产生错误的原因解释
unix网络编程第六章 I/O复用 select和poll函数第五节批量输入里提到了select和stdio混用会产生错误的后果。看到一篇博文对这个现象的原理做了详细的解释,特地转发一下。原文地址:select函数与stdio混用的不良后果 (原)天在看UNP6.5节,学习到了select与stdio混用的后果。特此进程实验一番。再实验之前需明确一下几点:1.stdio流的i/原创 2017-05-12 11:17:05 · 352 阅读 · 0 评论 -
系统引导过程概述以&MBR,PBR,BIOS,boot loader各个名词解析
前情:因为个人的需要,要在mac上安装三个系统,mac+win10+ubuntu。mac上安装多系统实现多引导的情况比一般电脑的复杂,其中的理论知识会牵涉到各种各样的名词,什么GUID、GPT、EFI 之类的……在安装以前,需要复习一下基本的计算机知识,于是准备写两篇博文,上篇介绍基本的磁盘分区,MBR、PBR、BIOS以及系统引导的过程,下篇介绍mac下关于GUID、GPT、EFI,原创 2017-05-09 14:48:08 · 5377 阅读 · 0 评论 -
deepin系统装好后如何配置swap分区
deepin系统安装的时候是如果内存在4g以上的时候默认不分swap分区的。实验室的老电脑虽然有4g的内存,但是应用开了,网页开多了就爆内存卡死,总是需要强制摁电源键重启。这里记录一个deepin下测试通过的设置swap分区的方法,通过新建一个文件来作为swap步骤:1.创建要作为swap分区的文件:增加2GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数原创 2017-04-02 22:18:05 · 11183 阅读 · 2 评论