操作系统
文章平均质量分 93
Advsance
我们的征途是星辰大海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux定时任务
想让linux程序到一个时间点自动运行,比如说隔一段时间我想运行一个程序检测一下女朋友相册有没有新照片如果有发给我。 反正就是类似的功能,就可以使用at和cron。 linux定时任务 linux上定时任务分为两种一种是周期性执行的,一种是定时只执行一次的任务。 at at用于只执行一次的任务,这个依赖于一个服务 atd并非所有的linux发型版这个服务都是自启动的,在设置启动任务之前可以先检查一下后台服务是否启动。 systemctl status atd 查看服务状态 systemctl enable原创 2021-11-22 18:14:46 · 5262 阅读 · 0 评论 -
inotif机制,监控文件系统变化
INOTIFY 机制 inotif可以对文件系统进行监控,监控文件系统中发生的事情。为了截取文件系统的变化,inotif机制在文件系统的各个操作中加入了hook函数,当文件系统调用了这些操作函数并改变了文件系统中的文件或目录的时候,就会调用hook函数发出对应的时事件。并将这个事件放到内核的一个队列中,应用层可以取走这些事件,同时如果事件过多而没用及时取走事件的话就有可能丢失事件。 说人话就是这东西可以监控文件或目录被读了,被写了,创建了,删除了,被移动了,被访问了等等。这个在linux内核 二点几之原创 2021-10-31 19:01:18 · 714 阅读 · 0 评论 -
进程和线程的概念以及实现原理
进程的概念 进程就是一个运行起来的程序,存在的目的在于,可以让一个计算机运行多个程序,cup通过切换运行的进程来达到伪并行的目的。有了进程的概念就算CPU只有一个,操作系统也可以让程序达到并行的目的。 如上图所示:一个操作系统只有一个CPU,但是有四个进程(A,B,C,D),操作系统通过将多个进程交替放在CPU上执行,每个进程分到一段时间进行执行,就可以让用户感觉到程序是并行执行的。说白了在操作系统层次,进程就是运行起来程序的一个抽象。 进程的创建 导致进程创建有以下几种情况: 1) 系统初始化,例如在系原创 2020-08-24 13:35:39 · 1863 阅读 · 0 评论 -
计算机内存使用方式
早期计算机内存使用方式 早期的计算机内存使用根本就没有所谓的抽象(考虑如何使用),比如下面这条汇编指令: MOVE REGISTER1,1000 这条汇编代码的作用为,将地址为1000的物理内存上的内容移到REHISTER1中,那是的物理内存给人的映像就为0到一个上限的集合,每个地址上能存一定数目的二进制数,一般都为八位。 以冯诺依曼的计算机设计思路为,CUP现在内存中取指(这里的指,代表指令类型,比如接下来是要做加法还是减法,左移还是右移,构架不同的CUP所用的指令集是不同的,所以就有了X86,X64原创 2020-08-23 23:42:52 · 741 阅读 · 0 评论 -
信号量(实现线程的同步与互斥)
信号量: 功能: 实现线程间的同步与互斥 本质:一个计数器(做资源计数-判断当前是否能对临界资源进行操作)+等待+唤醒 +等待队列 原理: 互斥原理:只具有0或1计数时,就可以实现互斥 初始计数为1,1表示当前只有一个线程能获取资源;其 实现:posix ...原创 2020-02-01 14:46:23 · 1235 阅读 · 0 评论 -
条件变量(实现同步)
条件变量: 用于实现线程间同步 条件变量通过提供线程等待,直到被唤醒的进程唤醒,从而实现线程同步;条件变量本身不具备条件判断功能;也就是意味着什么时候该等待,什么时候该唤醒等待的线程,都需要用户来控制; 实现流程: pthread_cond_wait:(解锁+休眠) +被唤醒后加锁 ...原创 2020-01-31 16:13:38 · 1265 阅读 · 0 评论 -
UDP实现通信
UDP协议:无连接 不可靠传输 面向数据报传输 本文目的是在linux下能实现简单的UDP通信 搭建流程 服务端: 创建套接字 绑定地址信息 接收消息 回复消息 完成这些动作主要依靠系统提供的API来完成 创建套接字: int socket(int domain, int type, int protocol); domain:是用什么版本的协议 例如 IPV4 or IPV6 type : 创...原创 2019-11-09 20:50:11 · 450 阅读 · 0 评论 -
进程控制
fork和vfork在内核中创建进程都是调用clone函数实现pcb创建并拷贝数据 进程终止:进程退出 退出场景:结果符合预期/结果不符合预期 异常退出: 常见的程序崩溃 不符合异常的退出:逻辑错误 return _exit exit 进程等待:等待子进程的状态改变(等待子进程退出)- 获取子进程的退出返回值。 1)进程退出,父进程如果不管不顾,就可能造成‘僵尸进程’的问题,进而造成内存泄漏。 2...原创 2019-08-18 19:22:54 · 246 阅读 · 0 评论 -
TCP特性剖析
引言:前面介绍了TCP/和UDP协议的基本特性,以及基本的字段信息,三次握手,四次挥手等。下面深入剖析TCP协议 https://blog.youkuaiyun.com/Advsance/article/details/97623764 https://blog.youkuaiyun.com/Advsance/article/details/97631156 TCP协议 TCP的保活机制:通信双方长时间没有往来,则每一段...原创 2019-08-15 17:37:03 · 506 阅读 · 0 评论
分享