Linux
Ran1366
这个作者很懒,什么都没留下…
展开
-
Linux下的重要目录
Linux 下有些重要目录比如/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp,这些目录背后又有什么含义, 通过实际的探索, 来看看它们的真实面目内核版本:发行版信息/proc Linux内核提供了一种通过/proc文件系统在运行时访问内核内部数据结构,改变内核设置的机制, proc文件系统只存在于内存中, 不...原创 2019-04-20 16:59:07 · 354 阅读 · 0 评论 -
线程同步与互斥(线程安全)
同步 : 临界资源的合理访问互斥 : 临界资源同一时间唯一访问互斥变量不一定要是全局变量, 只要多个线程都能访问到就行了互斥锁#include <pthread.h>pthread_mutex_t mutex; //创建一把互斥锁int pthread_mutex_destroy(pthread_mutex_t *mutex);//销毁互斥锁int pthread...原创 2019-05-19 20:37:06 · 1093 阅读 · 0 评论 -
Linux线程相关函数
创建线程#include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); pthread_t *thread-------传递一个pthread_t变量地址进来,...原创 2019-05-19 20:22:26 · 366 阅读 · 0 评论 -
Linux线程概念
在LInux中,线程就是轻量级的进程线程和进程的关系轻量级进程(light-weight process), 也有PCB, 创建线程使用的底层函数和进程一样都是clone从内核里看进程和线程是一样的, 都有各自不同的PCB, 但是PCB中指向内存资源的三级页表是相同的进程可以蜕变成线程线程就是寄存器和栈在Linux下, 线程就是最小的执行(CPU调度)单位, 进程是最小的资源分配单位...原创 2019-05-19 20:13:50 · 301 阅读 · 0 评论 -
Linux信号
1.kill: kill -l 查看所有信号 man 7 signal 查看man手册信号章节前32个信号是Unix系统经典信号,与软件,操作系统相关, 后32个是实时信号, 驱动编程时使用 #include <sys/types.h> #include <signal.h> int raise(int sig); 向自己发送信号...原创 2019-05-19 19:59:21 · 184 阅读 · 0 评论 -
Linux基础IO
打开文件:int open(const char *pathlname, int flags);int open(const char *pathname, int flags, mode_t mode);第一个参数:路径名称(文件名),第二个参数:标志位,本质是个整形数字,O_表示or ,flags是一个32位的整形,其中必须有且只有以下常数中的一个(必选项)O_RDONLY----...原创 2019-05-19 19:49:32 · 151 阅读 · 0 评论 -
Linux进程控制---Minishell
1.进程的创建1.使用fork创建进程int main() { int pid = fork(); //创建子进程,返回值大于0是父进程,返回值等于0是子进程 int n = 10; if(pid > 0) { while(1) { printf("parent %d %p %d\n", ...原创 2019-05-13 20:25:50 · 215 阅读 · 0 评论 -
Linux操作系统常用命令小结
花了两天时间小结Linux操作系统的常用命令,在学习Linux操作系统时遇到不会的可以方便地查看这些命令文件&amp;目录相关1.查看&amp;创建文件&amp;转盘符2.创建和删除目录3.文件移动和重命名4.拷贝文件和目录5.查看详细内容并输出到终端6.软链接硬链接7.计算文件Byte数,字数,列数8.指定文件查看格式9.查看某个目录的大小10.查找文件11.改变文...原创 2019-02-28 17:38:14 · 206 阅读 · 0 评论 -
Linux常用工具
Vim与其他编辑器之间的对比Emacs Emacs不仅仅是一个编辑器,他是一个整合环境,或可称它为集成开发环境,这些功能如让使用者置身于全功能的操作系统中。Emacs不仅可以作为文本编辑器,还可以用来收发电子邮件、通过FTP/TRAMP编辑远程档案、通过Telnet登录主机、上新闻组、登陆IRC和朋友交流、查看日历等功能Eclipse Eclipse是一款很酷的开源代码编辑器,它拥有代...原创 2019-03-30 12:46:18 · 148 阅读 · 0 评论 -
Linux进程概念
进程概念:进程 : 进行中的程序(用户角度), 运行一个程序需要描述一个程序的运行,通过一个task_struct结构体描述,统称为PCB(操作系统角度)程序 : 一堆代码, 存储在硬盘中, 程序运行起来就会被加载到内存中,删除硬盘中的程序,并不会使进程关闭操作系统管理进程 : 描述进程, PCB—struct task_struct{} 操作系统通过PCB来管理运行中的程序, 其本质是一个...原创 2019-03-31 19:42:49 · 121 阅读 · 0 评论 -
Linux进程相关函数
进程相关函数(进程原语)1.fork #include <unistd.h> pid_t fork(void); pid_t 可以看做无符号整形 #include <sys/types.h> #include <unistd.h> id_t vfork(void); 成功时,子进程的PID在父进程中返回,子进程...原创 2019-04-05 18:42:03 · 389 阅读 · 0 评论 -
Linux进程间通信
下面简单介绍有三种进程间通信的方式 : 1. 匿名管道–pipe; 2.命名管道–fifo; 3.内存映射–mmap;管道位于内核中, 进程共享内核区域1. pipe 管道 #include <unistd.h> int pipe(int pipefd[2]); #define _GNU_SOURCE /* See feature_test_ma...原创 2019-04-05 20:23:24 · 170 阅读 · 0 评论 -
Linux进程调度算法
先来先服务(FCFS) 先来先服务的调度算法:最简单的调度算法,既可以用于作业调度 ,也可以用于程序调度,当作业调度中采用该算法时,系统将按照作业到达的先后次序来进行调度,优先从后备队列中,选择一个或多个位于队列头部的作业,把他们调入内存,分配所需资源、创建进程,然后放入“就绪队列”,直到该进程运行到完成或发生某事件堵塞后,进程调度程序才将处理机分配给其他进程优点: 有利于长作业(进程)和C...转载 2019-04-20 17:35:36 · 1598 阅读 · 1 评论 -
生产者消费者模型
生产者消费者模型C语言代码 分别用条件变量和信号量实现条件变量实现#include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #include <pthread.h> #include "list.h"//这是自己实现的链表 ...原创 2019-05-19 20:49:57 · 430 阅读 · 0 评论