文章标题

来源:互联网 发布:luajit windows 编辑:程序博客网 时间:2024/06/07 11:01

Linux中的权限有r(读) w(写) x(执行),分别用数字4,2,1代表。
Umask是设置系统创建文件时的默认权限,是创建文件权限补码,对文件来说最大值是6
Umask设为为244,则创建的文件默认权限是422,文件的第一位是‘-’也就是-r—w–w-

逻辑地址= 页号*页大小+页内地址;
物理地址= 块号*块大小+页内地址;

块的大小与叶大小一致;
由于页面大小是4K = 2^12 ,所以逻辑地址的后12位为 页内地址;
所以物理地址 = 2 *(2^12) + 0 = 8192;

软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能查看软链接文件的内容了。
软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分–>目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接! 其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。

创建进程所需的步骤
1,申请空白PCB(进程控制块);
2,为新进程分派资源;
3,初始化PCB;
4,将新进程插入就绪队列;

通道是一种特殊的处理机,具有

系统处于安全状态时,一定不会发生死锁;系统处于不安全状态时,不一定会发生死锁;

1, spinlock 介绍
spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切换(用户态->内核态),但是spinlock使用不当(如临界区执行时间过长)会导致cpu busy飙高。
2 ,使用准则
Spinlock使用准则:临界区尽量简短,控制在100行代码以内,不要有显式或者隐式的系统调用,调用的函数也尽量简短。例如,不要在临界区中调用read,write,open等会产生系统调用的函数,也不要去sleep;strcpy,memcpy等函数慎用,依赖于数据的大小。

页式存储管理中,采用动态重定位,内存动态分配

单道程序,即在计算机内存中只允许一个的程序的运行,此时程序拥有足够的资源且没有其他程序的干扰,因此具有封闭性和再现性。

内存访问速度通常在50ns到80ns范围内,SSD硬盘的访问速度一般是SATA硬盘的一千多倍

多道程序执行(分为顺序执行 和 并发执行)。
如果是顺序执行: 可在现
如果是并发执行(伪并行):不可在现。

内存泄露是程序设计的bug,不是操作系统的问题
内存泄露跟线程数无关
内存泄露是进程申请了内存却没有释放。导致占用内存无限上升
进程退出之前释放申请的内存,不代表进程运行过程中没有内存泄露
java是自动管理内存的,但是也会有内存泄露,比如加入HashMap的对象hash值改变了就无法从HashMap中remove,这就造成了内存泄露

虚拟内存的特征是:
虚拟扩充 即不是物理上而是逻辑上扩充了内存容量。
部分装入 即每个作业不是全部一次性地装入内存,而是只装入一部分。
离散分配 即不必占用连续的内存空间。
多次对换 即所需的全部程序和数据要分成多次调入内存。

0 0
原创粉丝点击