知之可否

Be yourself; everyone else is already taken.​

排序:
默认
按更新时间
按访问量

进程间传递文件描述符--sendmsg,recvmsg

UNIX域套接字可以在同一台主机上各进程之间传递文件描述符。 下面先来看两个函数: [cpp] view plain copy   #include     #include        ssize_t sendmsg(int soc...

2016-10-09 17:51:51

阅读数:269

评论数:0

Linux的IO调度

之前蘑菇街电话面试的时候面试官问我IO调度算法有哪些,之前没留意过这个东西,记录一下:)   对于普通的机械硬盘,我们完成一次IO读写的流程从硬盘的物理结构上来说是,机械硬盘的存储介质是磁盘,磁头在盘片上移动进行磁道寻址,行为类似播放一张唱片。这种结构的特点是,顺序访问时吞吐量较高,但...

2016-08-29 22:06:23

阅读数:1332

评论数:0

linux sed 批量替换多个文件中的字符串

一、linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn ...

2016-08-29 20:58:42

阅读数:866

评论数:0

简述Linux内存分配--伙伴系统 原理

Linux内存分配——伙伴系统 目的:最大限度的降低内存的碎片化。 原理: 1.将内存块分为了11个连续的页框块(1,2,4,8....512,1024),其中每一个页框块中用链表将内存块对应内存大小的块进行链接。 2.若需要一块256大小的内存块,则从对应的256链表中查...

2016-08-15 09:31:16

阅读数:1111

评论数:0

网络IO之阻塞、非阻塞、同步、异步总结

1、前言   在网络编程中,阻塞、非阻塞、同步、异步经常被提到。unix网络编程第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一遍时候,似懂非懂,没有深入理解。网上有详细的分析:http://blog.csdn.net/historyasamirror/a...

2016-08-03 16:50:22

阅读数:366

评论数:0

高效编程之互斥锁和自旋锁的一些知识

两种锁的加锁原理 互斥锁:线程会从sleep(加锁)——>running(解锁),过程中有上下文的切换,cpu的抢占,信号的发送等开销。 自旋锁:线程一直是running(加锁——>解锁),死循环检测锁的标志位,机制不复杂。 两种锁的区别 互斥锁的起始原始开...

2016-08-01 23:23:14

阅读数:514

评论数:0

多线程编程中条件变量和虚假唤醒(spurious wakeup)的讨论

多线程编程中条件变量和虚假唤醒的讨论  1. 概述  条件变量(condition variable)是利用共享的变量进行线程之间同步的一种机制。典型的场景包括生产者-消费者模型,线程池实现等。  对条件变量的使用包括两个动作:  1) 线程等待某个条件, 条件为真则继续执行,条件为假...

2016-08-01 23:10:19

阅读数:983

评论数:0

diff

如果两个文件相似度很高,那么上下文格式的diff,将显示大量重复的内容,很浪费空间。1990年,GNU diff率先推出了"合并格式"的diff,将f1和f2的上下文合并在一起显示。 它的使用方法是加入u参数(代表unified)。   $ diff -u f1...

2016-07-30 15:09:39

阅读数:186

评论数:0

linux下使用select实现精确定时器

在编写程序时,我们经常回用到定时器。本文讲述如何使用select实现超级时钟。使用select函数,我们能实现微妙级别精度的定时器。同时,select函数也是我们在编写非阻塞程序时经常用到的一个函数。 首先看看select函数原型如下: int select(int nfds, fd_se...

2016-07-11 22:13:01

阅读数:258

评论数:0

Linux(Ubuntu)下MySQL的安装与配置

在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕。今天,需要在Linux下用Qt连接MySQL。遂安装配置了一把。       1)首先检查系统中是否已经安装了MySQL             在终端里面输入 sudo netstat -...

2016-07-06 10:20:35

阅读数:208

评论数:0

Linux软连接和硬链接

1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 【硬连接】 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号...

2016-06-07 21:28:45

阅读数:259

评论数:0

find命令

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。 find的使用格式如下:   $ find   - : 所要搜索的目录及其所有子目录。默认为当前目录。   - : 所要搜索的文件的特征。   - : 对搜索结果进行特定的处理。 如果什么参数也不加,f...

2016-06-06 14:40:29

阅读数:335

评论数:0

写时复制

现在我们应该明白了,Linux下是如何执行新程序的,每当有进程认为自己不能为系统和拥护做出任何贡献了,他就可以发挥最后一点余 热,调用任何一个exec,让自己以新的面貌重生;或者,更普遍的情况是,如果一个进程想执行另一个程序,它就可以fork出一个新进程,然后调用任何一 个exec,这样看起来就好...

2016-06-05 17:17:10

阅读数:978

评论数:0

VirtualBox 共享文件夹设置 及 开机自动挂载

以上资料是从网上摘录的,对于“开机自动挂载”模块,我试了好多遍都以失败告终,大部分网络资料都是说在 /etc/fstab 文件中追加 VirtualBox虚拟机文件夹共享挂载命令 “ sharing /mnt/share vboxsf defaults 0 0 ”,其实是错误的,因为系统调用fs...

2016-06-05 16:27:33

阅读数:2964

评论数:2

Linux 的僵尸(zombie)进程

原文地址http://coolshell.cn/articles/656.html 可能很少有人意识到,在一个进程调用了exit之后,该进程 并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所 有内...

2016-05-26 09:19:45

阅读数:2969

评论数:0

操作系统常见面试题

本文转载自:http://blog.sina.com.cn/s/blog_6ce9e8870101iqyz.html 在一篇文档中看到这样的问题总结,与大家分享!                    1.什么是进程(Process)和线程(Thread)?有何区别? 进程是具有一定独...

2016-05-25 16:48:03

阅读数:244

评论数:0

Linux文件权限

Linux用户分为:拥有者、组群(Group)、其他(other) Linux系統中,预设的情況下,系統中所有的帐号与一般身份使用者,以及root的相关信息, 都是记录在/etc/passwd文件中。每个人的密码则是记录在/etc/shadow文件下。 此外,所有的组群名称记录在/etc/g...

2016-05-20 19:47:43

阅读数:154

评论数:0

几个常用的操作系统进程调度算法

一、先来先服务和短作业(进程)优先调度算法 1.先来先服务调度算法 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源...

2016-04-12 11:11:15

阅读数:497

评论数:0

Linux进程间通信

我们在Linux信号基础中已经说明,信号可以看作一种粗糙的进程间通信(IPC, interprocess communication)的方式,用以向进程封闭的内存空间传递信息。为了让进程间传递更多的信息量,我们需要其他的进程间通信方式。这些进程间通信方式可以分为两种: 管道(PIPE)机...

2016-04-12 11:01:40

阅读数:443

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭