
Linux
文章平均质量分 67
稳健的不高冷的强哥
这个作者很懒,什么都没留下…
展开
-
实验五死锁与进程通信
实验时间:12.21目录线程死锁消息队列clientserver线程死锁两个或两个以上进程在执行任务的时候由于争夺资源等待资源而 发生互相等待的状态。 ▶ 互斥条件:进程对锁分配的资源排他性的使用,即在一段时 间内某资源只由一个进程占用,如果还有其他进程想要获得 资源只能等待 ▶ 请求和保持条件:进程已经保持了至少一个资源但还申请了 新的资源请求,而该资源已被其他进程占有,此时请求进程 阻塞,但又对自己保持资源保持不放 ▶ 不剥夺条件:进程占用的资原创 2021-12-21 15:58:26 · 314 阅读 · 0 评论 -
二、内存管理与多进程(含源码)
内存管理内存分配算法根据进程的实际需要,动态的分配内存空间。在实现动态分区分配时,将涉及到分区分配中所用到的数据结构、分区分配算法和分区的分配与回收操作三方面的问题。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业。考虑连续式动态分配算法,有以下三种实现:▶ 首次适应算法(First Fit): 空闲分区以地址递增的次序链接。分配内存时顺序查找,找到大小满足要求的第一个空闲分区就进行分配。▶ 最佳适应算法(Best Fit): 空闲.原创 2021-11-09 14:59:19 · 1671 阅读 · 0 评论 -
四、文件系统(含源码)
Linux 是多用户多任务操作系统,支持多个用户在同一时间内登 陆,不同用户可以执行不同的任务,并且互不影响。▶ 每个用户都有唯一的用户名和密码▶ 每个用户有自己独立的主目录▶ 用户组是具有相同特征用户的逻辑集合▶ 同一个用户组的多个用户具有相同的权限▶ 一个用户可以属于多个组列出根目录的文件信息:ll /进入根目录:cd /以下命令需要sudo,提权新建用户:useradd -m -g groupnameusername修改密码:passwd username.原创 2021-11-23 18:53:32 · 802 阅读 · 0 评论 -
SleepSort(Linux下Fork实现)
#include<stdio.h>#include<stdlib.h>#include<string.h>#include <unistd.h> static int pid = 0; /*初始pid*/void display_menu();void output();void clearoutput();int main(int argc, char const *argv[]){ /* code */ pid .原创 2021-11-07 21:29:42 · 570 阅读 · 0 评论 -
三、多线程与线程安全(含源码)
实验时间:11.09目录进程VS线程多线程模型线程安全线程锁进程VS线程process:不同进程间是隔离的,不共享地址空间;编程容易,进程间通信困难。thread:属于同一进程的所有线程都具有相同的地址空间;多线程共享同一堆,每个线程私有自己的栈;编程较难,线程间通信容易。多线程模型线程是操作系统进行调度的最小单位,拥有少量的资源,如寄存器和栈;特点是共享地址空间,从而高效的共享数据;可以更好地发挥多核处理器的功能;如何调度线程完全由操作系统决定,程序原创 2021-11-09 15:44:52 · 296 阅读 · 0 评论 -
零、OS实验及GIt命令
clone项目git clone http://172.20.110.104:28080/TomSawyer/lab3.gitgit上传文件git config --global user.email "1419316331@qq.com"git config --global user.name "TomSawyer"giit add .git commit -m "hh"git push原创 2021-11-09 16:04:44 · 125 阅读 · 0 评论 -
Linux 进程、线程创建(个人经验)
Linux创建、编译文件命令行touch 文件.后缀,创建源文件如:touch demo.cpp创建cpp源文件编译cpp源文件,gcc 文件名,后缀 -o 目标文件如:gcc demo.cpp -o aLinux未找到unistd.h头文件在编辑的cpp当前文件夹下,创建一个unistd.h头文件,输入以下代码即可。#ifndef _UNISTD_H#define _UNISTD_H#include <io.h>#include <process.h&原创 2021-11-02 00:06:25 · 1070 阅读 · 2 评论