![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 85
Sweep-
今天代码敲了吗??!
展开
-
Linux——进程并发控制(系统中的POSIX信息量机制、进程间通信)
Posix提供的无名信号量是基于内存的信号量,它们由应用程序分配信号量的内存空间,然后由系统初始化它们的值。有名管道是一个可以在文件系统中长期存在的、具有路径名的文件。 无名管道是一个临时文件。利用pipe建立起来的无名文件(无路径名)。 只用该系统调用所返回的文件描述符来标识该文件,故只有调用pip 用系统调用mknod建立。可让更多的进程也能利用管道进行通信。其它进程可以知道它的存在,并能利用路径名来访问该文件。对有名管道的访问方式与访问其他文件一样,需先用open( )打开。原创 2022-12-06 18:23:10 · 1048 阅读 · 0 评论 -
OS——进程并发控制(五大经典问题信号量机制描述)
目录一、经典问题信号量机制描述1、任意两个进程可以并发的条件(Bernstein条件)2、临界区管理原则3、信号量的P、V操作(1)P、V操作(2)P、V操作的原则(3)用信号量解决进程间互斥问题4、 生产者---消费者问题(解决访问缓冲区问题)(1)问题描述(2)信号量的设置5、哲学家就餐问题(1)问题描述 (2)解决思路 6、读者和写者问题(共享文件/存储区)(1)问题描述(2)问题分析(3)信号量的设置 7、理发师问题(调度的问题模拟)(1)问题描述(2)信号量的设置8、苹果橘子问题(1)问题描述(原创 2022-12-06 15:10:19 · 1386 阅读 · 0 评论 -
OS操作系统——设备管理(测试习题)
15、在Linux系统中,使用ls -l /dev命令查看设备文件时,第一列字母为c的是()。16、在Linux系统中,使用cat /proc/interrupts命令看到的是()。19、Linux系统中用模块方式管理设备驱动程序,其中动态加载设备驱动的方式是()11、在Linux系统中,独立于设备的I/O软件实现统一放到( )中。14、在Linux系统中,devices文件中所显示的第一列是()。7、程序中涉及外设访问的函数调用,如printf()将访问 ()?20、 Linux系统中的终端驱动程序。原创 2022-11-28 18:23:32 · 323 阅读 · 0 评论 -
OS操作系统——文件管理(测试习题)
19、 Linux系统的ABFD表中对每个i节点信息中f.count的作用是( )。1、()是具有符号名的,在逻辑上具有完整意义的一组相关信息项的序列。11、 进程在对一个打开的文件进行读写时,需要的参数不包括( )。7、文件系统中的按名存取,指的是按照文件的( )存取文件。15、在磁盘中存放所有文件说明信息和文件标识符的是( )。16、在C语言中调用open()函数返回的fd是( )。6、树形目录中的每个子目录都是其父目录中的一个 ()。2、文件的存取方式与文件的( )有关。原创 2022-11-28 16:01:49 · 702 阅读 · 0 评论 -
Linux——文件管理(文件系统、目录管理、文件操作)
检索时,对以‘/’开头的路径名,须从根目录开始检索,否则,从当前目录开始,并把与之对应的i节点作为工作索引节点,然后用文件路径名中的第一分量名与根或与当前目录文件中的各目录项的文件名,逐一进行比较。若结果为0,便回收该内存i节点,再对该文件的磁盘i节点中的连接计数减1,若其结果也为0,便删除此文件,并回收分配给该文件的盘块和磁盘i节点。创建一新文件时,就为之建立一个磁盘索引结点,以将文件的有关信息记入其中,并将用户提供的文件名和磁盘索引结点号一并组成一个新目录项,记入其父目录文件中。原创 2022-11-24 18:22:34 · 2826 阅读 · 2 评论 -
Linux——系统对设备的访问方式、设备管理、设备驱动
而/dev/hda1,/dev/hda2,/dev/hda3则表示第一块硬盘的第一、二、三分区。设备文件没有文件长度,而增加了主设备号,从设备号. 如,ls /dev/sd。②释放(关闭)设备是由release()完成的。如,打印机是用lp_open()打开的,而硬盘是用hd_open()打开的。–主设备号(major number):相同的设备使用相同的设备驱动程序;②可以通过文件/proc/devices来查看系统中使用的设备。–次设备号(minor number):用来区分具体的设备实例。原创 2022-11-14 19:11:42 · 1882 阅读 · 0 评论 -
Linux——页面置换算法(OPT、FIFO、LRU的实现与比较)
本实验的程序设计首先用srand( )和rand( )函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。第310条-第319条指令为第31页(对应虚存地址为[310,319])C:在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’第 0 条-第 9 条指令为第0页(对应虚存地址为[0,9])第10条-第19条指令为第1页(对应虚存地址为[10,19])B:顺序执行一条指令,即执行地址为m+1的指令。D:顺序执行一条指令,其地址为m’+1。原创 2022-11-01 10:11:44 · 1288 阅读 · 0 评论 -
Linux——页面置换算法(OPT、FIFO、LRU的实现与比较)
由于无法预测各页面将来的使用情况,只能利用“最近的过去”做“最近的将来”的近似,因此,LUR置换算法是选择最近最久未使用的页面予以淘汰。(3)缺点:该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如:含有全局变量、常用函数、例程等的页面,FIFO算法并不能保证这些页面不被淘汰。(3)缺点:人们目前通常还无法预知,一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因此,该算法是无法实现的,但可以利用该算法去评价其他算法。B:25%的指令是均匀分布在前地址部分。原创 2022-11-01 09:59:03 · 3701 阅读 · 3 评论 -
Linux——存储管理(虚存页面置换算法)
的条件下对算法进行评估。下面将用实例说明介绍一些经典算法。假设某进程有5页代码,系统给其分配3个页框,其运行过程可以用固定的12次访页轨迹来描述。原创 2022-10-25 15:08:46 · 1547 阅读 · 0 评论 -
网络程序设计——VC的多线程编程(线程与进程)
为防止和正常的返回值混淆,C/C++语言的系统调用一般并不直接返回错误码,而是将错误码存入一个名为 errno 的全局变量中,errno 变量以及各种不同错误码的定义均在 文件中。比如:一个线程负责通过网络收发数据,另一个线程完成所需的计算工作,第三个线程来做文件输入输出,当其中一个由于某种原因阻塞后(比如通过网络收发数据的线程等待对方发送数据),另外的线程仍然能执行而不被阻塞。在支持线程的操作系统中,一个进程内至少有一个线程,称为主线程,它无需由用户去主动创建,是由系统自动创建的。原创 2022-10-20 17:27:19 · 577 阅读 · 0 评论 -
Linux——操作系统基础概念(计算机的基本组成、进程概论、操作系统发展史)
Linux——操作系统基础概念(计算机的基本组成、进程概论、操作系统发展史)原创 2022-09-25 12:31:34 · 224 阅读 · 0 评论