![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 79
Sweep-
今天代码敲了吗??!
展开
-
shell程序设计(第一、二节)
shell是一个作为用户与Linux系统间接口的程序,它允许用户像操作系统输入需要执行的命令。原创 2023-02-08 21:01:47 · 361 阅读 · 1 评论 -
Linux——I/O复用(select的用法)
I/O 复用使得程序能同时监听多个文件描述符,这对于提高程序的性能至关重要。如果在超时时间内没有任何文件描述符就绪,select将返回0。select失败时返回-1并设置errno。如果在select等待期间,程序接收到信号,则select立即返回-1,并设置errno为 EINTR原创 2022-12-13 09:40:56 · 830 阅读 · 0 评论 -
Linux——进程并发控制(系统中的POSIX信息量机制、进程间通信)
Posix提供的无名信号量是基于内存的信号量,它们由应用程序分配信号量的内存空间,然后由系统初始化它们的值。有名管道是一个可以在文件系统中长期存在的、具有路径名的文件。 无名管道是一个临时文件。利用pipe建立起来的无名文件(无路径名)。 只用该系统调用所返回的文件描述符来标识该文件,故只有调用pip 用系统调用mknod建立。可让更多的进程也能利用管道进行通信。其它进程可以知道它的存在,并能利用路径名来访问该文件。对有名管道的访问方式与访问其他文件一样,需先用open( )打开。原创 2022-12-06 18:23:10 · 1057 阅读 · 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 · 1399 阅读 · 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 · 340 阅读 · 0 评论 -
OS操作系统——文件管理(测试习题)
19、 Linux系统的ABFD表中对每个i节点信息中f.count的作用是( )。1、()是具有符号名的,在逻辑上具有完整意义的一组相关信息项的序列。11、 进程在对一个打开的文件进行读写时,需要的参数不包括( )。7、文件系统中的按名存取,指的是按照文件的( )存取文件。15、在磁盘中存放所有文件说明信息和文件标识符的是( )。16、在C语言中调用open()函数返回的fd是( )。6、树形目录中的每个子目录都是其父目录中的一个 ()。2、文件的存取方式与文件的( )有关。原创 2022-11-28 16:01:49 · 713 阅读 · 0 评论 -
Linux——计算机网络基础概论
网络是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机、 路由器等设备。网络设备有:交换机、路由器、集线器传输介质有:双绞线、同轴电缆、光纤连接网络的目的:资源共享。原创 2023-12-25 12:34:03 · 732 阅读 · 0 评论 -
Linux——进程间通信(共享内存)
共享内存为多个进程之间共享和传递数据提供了一种有效的方式。共享内存是先在物理内存上申请一块空间,多个进程可以将其映射到自己的虚拟地址空间中。所有进程都可以访问共享内存中的地址,就好像它们是由malloc分配的一样。如果某个进程共享内存写入了数据,所做的改动将立刻被可以访问同一段共享内存的任何其他进程看到。shmget()用于创建或者获取共享内存shmget()成功返回共享内存的 ID, 失败返回-1key: 不同的进程使用相同的 key 值可以获取到同一个共享内存。原创 2022-11-24 19:12:14 · 546 阅读 · 0 评论 -
Linux——文件管理(文件系统、目录管理、文件操作)
检索时,对以‘/’开头的路径名,须从根目录开始检索,否则,从当前目录开始,并把与之对应的i节点作为工作索引节点,然后用文件路径名中的第一分量名与根或与当前目录文件中的各目录项的文件名,逐一进行比较。若结果为0,便回收该内存i节点,再对该文件的磁盘i节点中的连接计数减1,若其结果也为0,便删除此文件,并回收分配给该文件的盘块和磁盘i节点。创建一新文件时,就为之建立一个磁盘索引结点,以将文件的有关信息记入其中,并将用户提供的文件名和磁盘索引结点号一并组成一个新目录项,记入其父目录文件中。原创 2022-11-24 18:22:34 · 2896 阅读 · 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 · 1904 阅读 · 0 评论 -
Linux——信号量(定义、示例、信号量接口、ipcs命令)
①临界资源:指计算机的软硬件资源;同一时刻,只允许进程或者线程访问的资源。:联合体semun,这个联合体需要自己定义;思路: 在打印前进行p操作和v操作。②临界区:访问临界资源的代码段。(2)临界资源和临界区的概念。(不存在abab交替打印)原创 2022-11-06 16:28:23 · 3156 阅读 · 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 · 1295 阅读 · 0 评论 -
Linux——页面置换算法(OPT、FIFO、LRU的实现与比较)
由于无法预测各页面将来的使用情况,只能利用“最近的过去”做“最近的将来”的近似,因此,LUR置换算法是选择最近最久未使用的页面予以淘汰。(3)缺点:该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如:含有全局变量、常用函数、例程等的页面,FIFO算法并不能保证这些页面不被淘汰。(3)缺点:人们目前通常还无法预知,一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因此,该算法是无法实现的,但可以利用该算法去评价其他算法。B:25%的指令是均匀分布在前地址部分。原创 2022-11-01 09:59:03 · 3726 阅读 · 3 评论 -
Linux——进程间通信——管道(文件)通信
(1)管道(2)信号量(3)共享内存(4)消息队列(5)套接字。原创 2022-11-01 09:34:08 · 886 阅读 · 0 评论 -
Linux——存储管理(虚存页面置换算法)
的条件下对算法进行评估。下面将用实例说明介绍一些经典算法。假设某进程有5页代码,系统给其分配3个页框,其运行过程可以用固定的12次访页轨迹来描述。原创 2022-10-25 15:08:46 · 1563 阅读 · 0 评论 -
Linux——创建my_bash(命令解释器)项目+代码
bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。bash还能从文件中读取命令,这样的文件称为脚本。和其他Unix shell 一样,它支持文件名替换(通配符匹配)、管道、here文档、命令替换、变量,以及条件判断和循环遍历的结构控制语句。包括关键字、语法在内的基本特性全部是从sh借鉴过来的。其他特性,例如历史命令,是从csh和ksh借鉴而来。总的来说,Bash虽然是一个满足POSIX规范的shell,但有很多扩展。bash:命令解释器。原创 2022-10-21 10:44:13 · 725 阅读 · 0 评论 -
Linux——信号(常见信号的值以及对应功能、信号的响应方式)
信号是系统响应某个条件而产生的事件,进行接收到信号会执行响应的操作;(2)与其信号有关的系统调用在头文件中;(3)信号的代号的存储位置:原创 2022-10-21 10:25:52 · 1267 阅读 · 0 评论 -
Linux——进程替换exec、exec系列函数、习题演示
/在环境变量PATH 指定的路径里面搜索;//把参数都放在了一个 数组中//系统调用。原创 2022-10-17 21:51:47 · 500 阅读 · 0 评论 -
Linux——习题(g++与gcc的区别?申请虚拟空间(虚拟内存))
答:(2)如果当前的物理内存剩余空间够用,那么申请的空间肯定能成功;如果物理内存不够,先看有没有虚拟内存,如果有,看虚拟内存加上物理内存能否满足申 请的空间大小;对*.c 按 c 语言语法规则处理, *.cpp 自动按 c++ 语法规则处理,但默认不链接相应的 c++库,需要手动指定链接的库名"-lstdc++"。答:1) gcc 现在是 GNU 提供的一些编译器工具的集合(Gnu Compiler Collection),以前是 gnu 组织提供的 c 编译器(Gnu C Compiler)。原创 2022-10-17 19:21:23 · 407 阅读 · 0 评论 -
Linux——进程打开文件(open与fork的运用)、库函数和系统调用
三、fork和open运用。一、进程打开文件的流程。4、库函数和系统调用。原创 2022-10-16 14:05:07 · 470 阅读 · 0 评论 -
Linux——操作文件的系统调用(open、write、read、close)
返回值:ssize_t :实际写入了多少个字节;返回值:ssize_t :实际读取了多少个字节;标准错误输出对应的编号:2 stderror。buf:把文件内容读取到一块空间buf中。O_TRUNC:清空文件,重新写入;WIFEXIRED:正常退出的状态。标准输入对应的编号:0 stdin。标准输出对应的编号:1 stdout。O_CREAT:文件不存在则创建;fd:对应打开的文件描述符。O_APPEND:文件末尾追加;count:期望要读取的字节数。buf:写入的文件内容。O_WRONLY:只写打开;原创 2022-10-15 19:08:16 · 1939 阅读 · 0 评论 -
Linux——fork复制练习(加强对fork以及缓存区的理解)
子进程缓存后fork,变成4个,fork复制后有4个父进程,共8个进程。子进程2个,fork复制后有4个父进程,共6个进程。\n表示直接打印出来。有缓存区的,fork复制后变成两个。原创 2022-10-15 00:39:10 · 314 阅读 · 0 评论 -
Linux——fork复制(将死进程)、内存管理(虚拟内存)、写时拷贝技术
本文主要介绍fork复制(将死进程)、内存管理(虚拟内存)、写时拷贝技术原创 2022-09-26 09:41:06 · 780 阅读 · 0 评论 -
Linux——操作系统基础概念(计算机的基本组成、进程概论、操作系统发展史)
Linux——操作系统基础概念(计算机的基本组成、进程概论、操作系统发展史)原创 2022-09-25 12:31:34 · 227 阅读 · 0 评论 -
Linux——主函数及缓冲区(主函数的参数含义、隐藏缓冲区和强制刷新缓冲区)
主函数的参数含义、隐藏缓冲器和强制刷新缓冲区printf将内容写入到缓冲区中,缓冲区刷新到界面(屏幕)上的条件是什么?原创 2022-09-26 09:21:50 · 373 阅读 · 0 评论 -
Linux——自动化编译(make的使用)、库文件(静态库和共享库的使用)
本文章主要讲解Linux中make多文件编译以及库文件(静态库和共享库的用法)。原创 2022-09-08 23:54:31 · 1718 阅读 · 0 评论 -
Linux——多文件的编译(操作命令及例题示范)
本节内容主要是对Linux练习多文件的编译命令。原创 2022-09-08 12:01:58 · 897 阅读 · 0 评论 -
Linux(gcc编译原理、过程以及常用调试命令)
Linux(gcc编译原理、过程以及命令)原创 2022-08-11 12:22:44 · 1726 阅读 · 0 评论 -
Linux常用命令(包含基础命令、文件查看命令、文件编辑命令、文件压缩与解缩命令、进程管理命令)
Linux常用命令(包含基础命令、文件查看命令、文件编辑命令、文件压缩与解缩命令、进程管理命令)原创 2022-08-08 13:00:45 · 362 阅读 · 0 评论 -
Linux系统介绍(版本)及常用基础命令(前三节课)
Linux基础知识原创 2022-08-01 22:42:22 · 197 阅读 · 0 评论