
linux
文章平均质量分 50
Meowstic
只沉浸在自己的代码世界~
展开
-
KDE解决Could not start d-bus. Can you call qdbus?
最近linuxmint-kde更新,不知怎么进不去KDE桌面。弹出Could not start d-bus. Can you call qdbus我尝试了sudo apt-get install qdbussudo apt-get install qdbus-qt5因为都正常安装所以没解决。后来搜索网上发现了这个BUG的讨论https://bugs.launchpad原创 2014-12-07 19:45:01 · 6955 阅读 · 2 评论 -
Linux内核进程调度
CFS在Linux2.6.23之后,内核默认的调度器是CFS,也就是”Completely Fair Scheduler”。这个调度器替换了早先的o(1)调度器。APILinux提供了下面的系统调用来控制CPU调度的行为、策略和线程优先级。nice:为调用线程设置一个nice值,并返回新的nice值。getpriority:返回一个线程,或一个进程组,或一个特定用户的线程集合的nice值。se翻译 2017-09-22 16:58:52 · 2034 阅读 · 1 评论 -
Linux中写时复制的fork和vfork的实际区别
我们知道fork是创建一个子进程,需要拷贝大量的内存和进程上下文,而vfork则不需要拷贝父进程内容,因为它立马就会调用execve()等函数,执行新的程序。但是在Linux内核中(几乎是所有现代操作系统中)实现了一种叫做copy_on_write的技术,就是fork()了之后,并不拷贝父进程实际的内存数据。只有当父进程或子进程对这个数据进行了修改,才会进行真正的拷贝。那么vfork()和fork(原创 2017-08-21 21:40:25 · 1144 阅读 · 0 评论 -
fork()的继承内容
子进程完全复制了父进程的内容,除了下面的东西(posix标准):PIDPPIDmemory lock (mlock, mlockall) mlock主要是用来防止部分虚拟地址空间被交换到交换空间。Process resource utilizations 和 CPU time counters 系统资源使用率是指像CPU使用时间,内存使用大小,IPC消息传递数量,上下文切换次数等,这翻译 2017-08-21 21:19:49 · 1018 阅读 · 0 评论 -
Linux线程的内存布局
Linux线程的内存布局在Linux的glibc中,通过pthread结构实现线程。由于线程和主进程是使用同一个虚拟地址空间,所以我们可以通过pmap -X <pid>来比较线程运行前和运行后的虚拟地址空间变化。// gcc main.c -lpthread && ./a.outsem_t* sem;void* thread_func(void *arg) { printf("wait原创 2017-08-20 16:40:50 · 2508 阅读 · 1 评论 -
Linux X86_64位虚拟地址空间布局与试验
Linux虚拟地址布局x64 layout在x86_64下面,其实虚拟地址只使用了48位。所以C语言里,输出地址都是12位16进制的地址。48位地址长度也就是对应了256TB的地址空间。而在Linux下有效的地址区间是从0x0 ~ 0x00007FFF FFFFFFFF还有0xFFFF8000 00000000 ~ 0xFFFFFFFF FFFFFFFF两个地址区间。而每个地址区间都有128TB的地原创 2017-08-15 23:35:54 · 12566 阅读 · 2 评论 -
ubuntu下的resolvconf命令
dns地址的存放地址是/etc/resolv.conf 这是一个链接文件但是如果直接写这样有点蛋疼,最后你会发现他有时会被抹去。为什么呢,因为这是ubuntu里 resolvconf这个脚本命令的原因。resolvconf是debian系里一个管理dns的命令,dhclient,ifup等命令都是支持用它来管理dns的目录:/run/resolvconf/resolv.conf原创 2015-03-22 21:09:54 · 7652 阅读 · 0 评论 -
linux下dbus的理解学习
最近在设计一个linux桌面程序。而进程间的交互准备使用dbus来解决。介绍:有那么个组织叫freedesktop,它是专门为linux桌面制定标准的。什么KDE,GNOME都是按他的标准来的。而dbus是其中的桌面消息机制的一个标准。dbus是一个IPC的管理系统,其实就底层来说就是本地socket通信。但是他是将所有的消息都通过总线的方式来管理分发,易于管理和安全。dbus一般原创 2015-03-21 15:51:10 · 11873 阅读 · 0 评论 -
mint-kde卸载破损的wicd包,恢复被删除的network-manager
linux发行版:mint17-kde 最近想学习网络连接器设计。下载了wicd的最新源码。后来像尝试wicd,因为冲突将network-manager卸载,但发现断网无法apt-get wicd。只能源码安装wicd。通过python setup.py后发现 wicd安装出错。可以打开wicd,但是里面的无线网络配置功能无法使用,所以断网。且无法卸载(因为是源码安装,而其自带的卸载失原创 2014-12-10 00:00:16 · 1875 阅读 · 0 评论 -
gcc中const变量的内存位置
const变量的存放位置并没有标准规定。 在gcc中,如果const变量是全局函数,那么它会被存到Data Segment。如果不是全局变量,而是放在函数内的变量,则是放在栈内。这时候就会出现一种很奇特的未定义操作,就是const变量放在栈内可以通过指针来进修改。试验代码如下:#include <stdio.h>const int b = 1111;int main() { const原创 2017-08-25 18:35:50 · 2203 阅读 · 0 评论