操作系统
文章平均质量分 66
1emerald
wwwwwww
展开
-
安装Nova文件系统
nvm nova原创 2023-09-02 10:35:01 · 274 阅读 · 0 评论 -
APUE习题8.7
exec在执行前会关闭所有打开的目录流(DIR)检查文件描述符状态标志,dirfd(DIR *)得到目录的文件描述符重要的fcntl()函数,得到文件描述符状态忽略了exec族函数的第一个参数的作用导致调用exec一直成功exec的第一个参数一般是可执行文件的文件名,The first argument, by convention, should point to t...原创 2020-02-08 22:09:14 · 102 阅读 · 0 评论 -
对C语言标准IO的理解
对标准IO的理解:个人理解,如果有错误请指出c语言标准IO通过一个FILE结构来封装了read和write系统调用,并且标准IO缓冲区的分配也是通过修改FILE的元素来改变,由于常用stdin,stdout,就认为缓冲区是分为输入缓冲区和输出缓冲区的,这只是因为缓冲区承担一项工作(输入or输出)如果用文件流以O_RDWR状态打开一个文件,那么缓冲区将会同时作为输入和输出的缓冲区,...原创 2020-01-29 23:56:06 · 661 阅读 · 0 评论 -
APUE第四章文件和目录
与进程相关联的ID1.实际用户ID+实际组ID2.有效用户ID+有效组ID+附属组ID3.保存的设置用户ID+保存的设置组ID执行一个程序文件时,进程的有效用户ID=实际用户ID,有效组ID=实际组ID,当我执行./a.out文件时,如果a.out此文件权限是root root,但是我以非root用户来执行的(实际用户是非root用户,此时进程的有效用户id变成实际用户id,那...原创 2020-01-28 17:39:21 · 155 阅读 · 0 评论 -
APUE第三章文件IO笔记+习题
3 文件IO非缓冲IO,属于POSIX,非IOS C标准stdin stdou stderr与STDIN_FILENO STDOUT_FILENO STDERR_FILENO的关系stdin等属于FILE *类型,在<stdio.h>中STDIN_FILENO等是无符号整数,表示描述符,在<unistd.h>中3.1 常用函数open#inc...原创 2020-01-23 17:22:13 · 155 阅读 · 0 评论 -
虚拟内存-2级分页表原理
虚拟内存中的分页每个进程都有一个页表,每个进程可以占据大量的虚存空间概念:页表项 : 页表中的每个项记录了每个页对应的页框号不带单位默认为字节Byte问题假设进程的虚存空间为2GB=2312GB=2^{31}2GB=231,若使用29=5122^9 = 51229=512个字节的页,那么进程需要231/29=2222^{31}/2^9 = 2^{22}231/29=...原创 2019-11-07 18:10:36 · 1209 阅读 · 0 评论 -
死锁和饥饿-哲学家就餐问题
哲学家就餐问题背景:假设5位哲学家住在一起(可以推广到n),每天生活就是思考和吃饭,每位哲学家需要2把叉子来吃意大利面.就餐安排: 一张圆桌,5个板凳,5个盘子,5把叉子,每个想吃饭的哲学家做到椅子上,使用盘子2侧的叉子来吃面条,问题: 设计算法 保证互斥(2位哲学家不能使用相邻的叉子),同时还要避免死锁(每个哲学家都在等待叉子,且占用了叉子)和饥饿信号量解决方案规定:...原创 2019-11-05 14:41:05 · 1925 阅读 · 0 评论 -
互斥和同步-读者/写者问题
读者/写者问题问题定义:存在一个多进程共享的数据区,该数据区可以是 一个文件或者一块内存或者一组寄存器, 有些进程reader只读取该数据区中的数据, 有些进程writer只往数据区写数据满足条件任意数量的读进程可以同时读该文件一次只有一个写进程可以写文件若一个写进程正在写文件,则禁止任何进程读文件综上即: 读进程不需要排斥其他进程,而写进程需要排斥其他所有进程...原创 2019-10-30 01:47:22 · 860 阅读 · 4 评论 -
互斥和同步-消费者/生产者 (管程+消息传递)
管程由一个或多个过程、一个初始化序列和局部数据组成的软件模块,主要特点:局部数据变量只能被管程的过程访问,任何外部过程都不能访问一个进程通过调用管程的一个过程进入管程.只能有一个进程在管程中执行,调用管程的任何其他进程都被阻塞,以等待管程可用管程的互斥机制:管程的数据每次只能被一个进程访问通过放入 共享数据结构 从而实现访问该资源的进程的互斥管程的同步工具:...原创 2019-10-29 00:44:32 · 755 阅读 · 0 评论 -
互斥和同步-生产者/消费者问题
信号量解决互斥由于所有进程都需要访问共享资源,每个进程进入临界区前执行 semWait(s),若s为负,则进程被阻塞,为正数则-1,进程立即进入临界区,由于s不为正,则其他任何进程不能进入临界区下面将 缓冲区作为 共享资源生产者/消费者问题问题:有一个或多个生产者生产某种类型的数据,放置在缓冲区,有一个消费者从缓冲区取数据,每次取一项,操作系统为了保证避免对缓冲区的重...原创 2019-10-28 22:04:06 · 1725 阅读 · 0 评论