进程的创建与可执行程序的加载
摘要:学号:SA*****201姓名:方超一、进程控制块与地址空间的联系 进程的地址空间也叫线性空间,由进程可寻址的虚拟内存组成。系统允许进程使用这种虚拟内存中的地址。在32位操作系统中,进程的地址空间有32位,即4GB的寻址范围,在64位系统中会更大。 可执行程序分为若干的功能段,如代码段,数据段,堆栈段等等。相应的,系统会将进程的这些段放置在进程线性空间的一段内存区域上。进程只能访问有效内存区域内的内存地址。每个内存区域也具有相关权限,如对相关进程有可读,可写,可执行属性。若一个进程访问了不在有效范围内的内存区域,系统就会产生错误,如Linux中常见的段错误。 Linux内核中用内存描述符...
阅读全文
ubuntu 下误删用户所属组
摘要:今天装了个virtualbox,打开设置说usb不能共享,需要把当前账户加入到vboxusers,使用usermod -G vboxusers ***, 然后重启,傻眼了,sudo不能用了,连硬盘挂载都不能用了使用groups查看了账户的组信息,只剩下vboxusers了 *_*。解决办法,在grub开机界面进入恢复模式,使用root账户登陆在这种模式下文件系统是只读的,所以使用usermod命令更改用户组会失败,执行mount -o rw,remount /命令可以修改文件系统为读写。然后执行usermod -G 账户名, adm, cdrom, sudo, dip, plugdev, lp
阅读全文
volatile关键字
摘要:在程序执行的时候有可能遇到动态调度指令的问题,例如解决CPU的数据相关问题,就有可能将不相干的指令交换顺序,这在单线程没有问题,但是在多线程中就有可能出现问题。例如:x = y = 0;thread1() thread2(){ { x = 1; y = 1; r1 = y; r2 = x;} }有可能被CPU优化成:thread1() thread2(){ { r1 = y; r2 = x; x = 1; y = 1;} ...
阅读全文
初探机器的工作原理
摘要:《实验一:机器是怎样工作的?——实验报告》姓名:方超学号:SA*****201试验目标:请使用Example的c代码分别生成.cpp,.s,.o和ELF可执行文件,并加载运行,分析.s汇编代码在CPU上的执行过程。并通过实验解释单任务计算机是怎样工作的,并在此基础上讨论分析多任务计算机是怎样工作的。试验环境:Ubuntu 13.04, GCC 4.7.3, GDB 7.5.91.20130417, GDB图形前端: DDD试验内容:1.编写example.c代码 1 int g(int x) 2 { 3 return x + 3; 4 } 5 6 int f(int x) 7 { 8...
阅读全文
解决ubuntu "ata1: softreset failed"问题
摘要:之前在用ubuntu12.04的时候,每次休眠启动之后都会显示一条“ata1: softreset failed”的错误信息,由于没有影响电脑的使用就没有理他。最近升级到13.04,发现休眠启动之后还是有这样的错误,上网查了查,貌似是硬件驱动或者bios之类的原因,解决办法就是在grub启动界面中,修改ubuntu的启动命令。用gedit打开/boot/grub/grub.cfg文件,找到以下代码 1 menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_
阅读全文
ubuntu12.04gnome桌面下定时切换桌面脚本
摘要:最近研究了一下shell,就突发奇想,可不可以弄一个类似window7那种可以自动切换桌面图片的脚本呢?理论上是可以的,关键是找到gnome桌面的背景切换命令,上网搜了搜,还真让我找到了!”gsettings set org.gnome.desktop.background picture-uri '图片路径'"就可以设置背景了还有一个头疼的问题就是如何支持带空格参数的图片路径,目前只找到了一种方法,还是我太菜了,呵呵,如果哪位看官有更好的解决方法欢迎赐教哈,上代码#!/bin/bashcurDir=$(pwd)hour=0 #hoursmin=40 #minutes
阅读全文
ubuntu12.04下设置类似QQ的截图功能
摘要:Dash->键盘->快捷键->截图->复制选区截图到剪贴板,将其快捷键设置成ctr+alt+A就OK了。
阅读全文