操作系统
Austin_Yan
我行既道,我身既法
展开
-
【操作系统---1】Linux基础命令①
目录命令:命令名称 【选项参数】【操作对象】<1>ls命令:对于目录,该命令列出该目录下的子目录与文件.对于文件,列出文件名和其他信息常用选项:ls-a ls-lls-a: 列出目录下的所有文件,包括隐藏文件ls-l:列出文件的详细信息Linux下的目录结构:交换分区(存储内存交换下来的数据) 文件系统分区(把某个空间挂载到某个根目录下)<2>...原创 2019-05-03 17:09:52 · 187 阅读 · 0 评论 -
【操作系统---16】进程信号
文章目录信号:信号的产生:信号在进程中的注册:信号在进程中的注销:信号的处理:处理方式:接口:自定义处理方式的捕捉流程:信号的阻塞:接口:函数的重入:是否重入的关键点:信号:是一个软中断;通知进程发生了某件事情,中断进程当前操作;让进程处理这个事件信号有很多种—Linux下有62种,非可靠信号1-31,可靠信号34-64;进程还必须识别这些信号kill杀死进程的原理:向进程发送信...原创 2019-06-21 00:44:34 · 204 阅读 · 0 评论 -
【操作系统---14】进程间通信——管道
文章目录进程间通信:管道本质:匿名管道:实际操作(接口):具体使用:读写特性:匿名管道的简单实现:代码示例:代码注意事项:在minishell中的实现:命名管道:命名管道的简单创建:代码示例:命名管道文件的打开特性:代码示例:代码运行测试图:同步与互斥:字节流服务进程间通信:进程的独立性导致进程之间无法通信,操作都是自己的虚拟地址,无法访问别人的地址system V: 管道、共享内存、...原创 2019-06-18 16:12:17 · 800 阅读 · 0 评论 -
【操作系统---19】网络基础①
Linux的系统编程阶段已经结束了…网络编程开始…网络基础1->套接字编程->网络基础2->网络基础3->高级io基本概念:交换机:实现数据转发功能,链接多台计算机,但是不具备选择路径的能力路由器:实现路径选择能力互联网:大量路由器星型链接(向四面八方开枝散叶)按照网络覆盖范围划分:局域网:小的星型网络,覆盖范围1000米城域网:10公里范...原创 2019-07-08 22:49:36 · 219 阅读 · 0 评论 -
【操作系统---17】多线程(上)
文章目录线程概念:线程之间的独有与共享:多线程与多进程任务处理的优缺点:线程控制:线程创建:线程终止 :线程等待 :线程分离:线程安全:互斥的实现:定义互斥锁变量:死锁:死锁产生的四个必要条件:线程间同步的实现:条件变量:线程概念:1.pcb是进程;2.Linux下线程通过pcb实现,pcb是一个轻量级进程;同一个进程组的pcb公用一个虚拟地址空间,共享进程组中大部分资源线程之...原创 2019-06-24 22:51:40 · 523 阅读 · 0 评论 -
【操作系统---18】多线程(下)
信号量:功能:实现线程同步与互斥本质:一个计数器(做资源计数-判断当前是否可以对临界资源进行操作)+等待队列+等待+唤醒原理:互斥原理:只具有0/1计数时,就可以实现互斥初始计数为1,1表示当前只有一个进程可以获取资源,获取资源之后-1;临界资源操作完毕之后计数+1;并且唤醒等待队列上的线程;计数为0,其他线程则进行等待同步原理:对程序逻辑进行控制(对临界资源合理操作...原创 2019-07-04 13:09:21 · 278 阅读 · 0 评论 -
【操作系统---20】套接字编程
文章目录基于udp协议的socket客户端和服务端的编程(接口):客户端:服务端:注意事项:代码示例:基于tcp协议的客户端与服务端通信流程:客户端:服务端:注意事项:代码示例:基于udp协议的socket客户端和服务端的编程(接口): int socket(int domain, int type, int protocol);//创建套接字 int bind(int so...原创 2019-07-15 13:53:42 · 275 阅读 · 0 评论 -
【Linux---22】网络基础③
文章目录网络层:ip协议特性解析:地址管理:网段的划分:链路层:以太网协议特性解析:MTU对TCP的影响:MTU对UDP的影响:域名服务器的层级划分:域名的层级划分:域名的解析流程:ICMP协议:NAT技术:NAT和代理的区别:网络层:在复杂网络环境中,为每一条数据选择一条合适路径进行传输而选择的路径是根据每一条数据中的目的端地址决定并且路由选择也依托于良好的地址管理ip协议特性解析:...原创 2019-07-29 19:12:41 · 149 阅读 · 0 评论 -
【Linux---21】网络基础②
TCP/IP四层中重要协议解析+特性原理应用层:负责应用程序之间的数据沟通自定制协议:网络版计算器:客户端传输两个数字以及运算符到服务端,服务端进行计算将结果返回结构化数据传输:序列化:按数据对象按照指定的协议组织成为能够进行持久化存储(磁盘存储)/数据传输的二进制数据串反序列化:将二进制数据传按照指定的协议解析得到各个数据对象typedef struct{ ...原创 2019-07-25 22:30:24 · 199 阅读 · 0 评论 -
【操作系统---24】知识点回顾
文章目录思维导图(未完)Linux系统编程基础指令目录文件查找权限进程网络常用工具系统包管理个人编程项目编程进程冯诺依曼体系操作系统程序地址空间进程概念进程状态进程控制进程间通信管道共享内存消息队列信号量信号概念:是一个软件中断,打断进程当前操作去处理信号所表示的事件种类:kill -l查看生命周期基础IO标准库IO接口:fopen/fread/fwrite/fseek/fclose系统调用IO接...原创 2019-08-25 13:14:58 · 246 阅读 · 0 评论 -
【Linux小项目---1】jsonCpp库和数据库接口的使用
Insert:selectAll:selectOne(1):Delete(6):原创 2019-08-29 00:03:21 · 170 阅读 · 0 评论 -
【操作系统---15】进程间通信——共享内存、信号量
文章目录共享内存:原理:int shmget(key_t key, size_t size, int shmflg);void *shmat(int shmid, const void *shmaddr, int shmflg);int shmdt(const void *shmaddr);int shmctl(int shmid, int cmd, struct shmid_ds *buf);共...原创 2019-06-20 11:07:57 · 579 阅读 · 0 评论 -
【操作系统---11】基础IO和minishell增加重定向功能
标准库IO接口:fread接口: size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);参数解释: ptr:用于接收数据的缓冲区 size:要读取的块大小 nmemb:被读取的块大小 stream:文件流指针fseek接口: int fseek(FILE *stre...原创 2019-06-04 01:06:59 · 490 阅读 · 0 评论 -
【操作系统---13】系统调用接口练习和动/静态库
文章目录系统调用接口练习:代码实现:代码测试运行图:动态库与静态库:动态库生成:静态库生成:库的使用:代码实现:代码测试运行图:系统调用接口练习:代码实现:#include<stdio.h>#include<fcntl.h>#include<unistd.h>#include<sys/stat.h>#include<string...原创 2019-06-08 13:37:01 · 252 阅读 · 0 评论 -
【操作系统---2】Linux基础命令②和文件权限
时间命令:<1>cal命令:查看日历常见选项:cal -3 cal-y cal -yj-3 显示附近三个月日历-y 显示一整年的日历-yj 显示这一天在整年中第几天<2>date命令:查看或设置系统时间(系统级参数)常见选项:-s 设置系统时间 需要root权限(sudo 或者切换用户)date +’%Y-%m-%D %H:%M:%S’ ...原创 2019-05-07 10:53:30 · 413 阅读 · 0 评论 -
【操作系统---3】Linux重要目录和重要命令以及使用命令安装工具
重要命令(系统资源命令):<1>du命令:显示每个文件和目录的磁盘使用空间常见选项:du-a du -b du -c du -s du-h-a 显示目录中个别文件的大小。-b 显示目录或文件大小时,以byte为单位。-c 除了显示个别目录或文件的大小外,同时也显示所有的目录或文件的总和。-s 仅显示总计,只列出最后加的值。-h 以K、M、G为单位,提高信息的...原创 2019-05-07 13:14:53 · 190 阅读 · 0 评论 -
【操作系统---7】进程调度算法和僵尸、孤儿进程模拟实现
1、先来先服务调度算法(FCFS,first come first served):谁第一个排队,谁就先被执行,在它执行过程中,不会中断它;2、短作业优先调度算法(SJF,shortest job first):对预计执行时间短的进程有限分配处理机,通常后来的短进程不会抢先正在执行的进程;对长进程非常不利,可能长时间得不到执行3、最高响应比优先法(HRRN,highest response...原创 2019-05-30 12:55:05 · 254 阅读 · 0 评论 -
【操作系统---4】vim推荐插件和彩色进度条
vim插件推荐:①vundle—vim插件管理工具②Auto Pairs—自动括号配对③nerdtree—文件树插件④tagbar—函数变量树插件⑤YCM—最强大的自动补全插件—史上最难装的插件常用的牛逼的编辑器:Eclipse Java集成环境,拥有代码高亮和智能提示等强大的功能Light Table 扩展丰富,windows、Linux、macos都兼容Brac...原创 2019-05-18 14:55:29 · 394 阅读 · 0 评论 -
【操作系统---5】冯诺依曼体系和进程概念
冯诺依曼体系的理解:qq发信息给对方: 键盘作为输入设备-->内存--->cpu处理--->网卡作为输出设备---> 对方网卡作为接收设备-->内存--->显示器作为输出设备硬件结构决定软件行为!qq发文件: 磁盘作为输入设备--->内存--->cpu处理--->网卡作为输出设备---> 对方网卡接收--->...原创 2019-05-31 14:40:24 · 281 阅读 · 0 评论 -
【操作系统---6】进程和环境变量相关
文章目录进程查看命令:进程创建:进程状态:环境变量:查看环境变量的命令:环境变量的特性:进程查看命令: ps命令 ps -aux 查看所有进程信息 vsz虚拟内存 rss物理内存 ps -ef PPID 父进程信息 TTY终端信息 pid_t pid =getpid(); 获取调用进程ID pid_t是int类型的数字 /proc/ 根目录下的进程目录进程创建:...原创 2019-05-31 14:57:41 · 403 阅读 · 0 评论 -
【操作系统---8】虚拟地址空间知识点整理
程序地址空间:32位操作系统上,内存寻址范围最多4个字节,内存大小最多4G,不论插多少内存条用户空间从0x00 00 00 00到 0x c0 00 00 00 内核空间1G 用户空间3G内存地址:对一块内存区域的编号Q:虚拟地址如何存储数据? A:虚拟地址空间是一个结构体 struct mm_struct 给操作系统描述了一个完整连续的地址空间 ulong mem_size ...原创 2019-05-31 15:18:42 · 953 阅读 · 0 评论 -
【操作系统---9】进程控制知识点整理
文章目录进程创建:进程终止:进程等待:获取子进程退出返回值:核心转储:进程创建:fork-----通过复制调用进程创建一个新的子进程 复制PCB(代码共享数据独有)---程序计数器(运行的位置都一样) 父进程返回子进程的pid,子进程返回0; 写时复制技术 vfork-----创建子进程,共用同一个虚拟地址空间 共用一个调用栈,会发生调用栈混乱 为了防...原创 2019-05-31 15:34:40 · 300 阅读 · 0 评论 -
【操作系统---10】程序替换和简易minishell实现
<1>原创 2019-05-31 15:35:23 · 433 阅读 · 0 评论 -
【操作系统---12】进程控制拓展
文章目录SHELL传送门:封装fork/wait等操作:代码实现:代码运行测试图:popen函数:system函数:SHELL传送门:简易shell的实现(无任何容错机制)封装fork/wait等操作:代码实现:execv 第一个参数是程序路径,之后参数使用字符串指针数组int execvp(const char *file, char *const argv[]);带p不需要提...原创 2019-06-06 16:02:06 · 166 阅读 · 0 评论 -
【Linux小项目---2】前端按钮和实现响应
上传图片:查看指定图片信息:查看所有图片信息:查看图片内容:暂未完成~原创 2019-08-29 20:54:49 · 343 阅读 · 0 评论