![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 65
药后西
这个作者很懒,什么都没留下…
展开
-
linux命令2
day21.chmod命令可以修改一个文件的操作属性,使用方法如下: chmod linux系统文件的操作属性由9个字母表示; 这9个字母分成3组,每一组针对特定的用户群; 每组内部的三个字母表示读,写,执行这3个操作行为;(rwx)2.脚本文件中包含大量的命令,可以被当做程序执行;3.ln命令可以用来创建链接文件,使用方法如原创 2014-07-07 08:14:10 · 296 阅读 · 0 评论 -
uc12
今天: 信号量集 网络信号量(semaphore)和信号量集(semaphore arrays)信号量集是由信号量组成的数组,信号量其实就是一个计数器,用于控制 同时访问共享资源的 进程/线程的总数(IPC中的信号量只控制进程)信号量的使用方式: 1.先赋处值,就是 允许并行的进程最大数量。 2.如果有进程访问, 计数-1,到0就阻塞访问进程。 3原创 2014-07-07 08:31:24 · 451 阅读 · 0 评论 -
uc11
综合案例: 发展道路: 外行->菜鸟->准程序员->程序员->核心程序员(高级)->系统分析师/系统架构师/项目经理-->部门经理/总监(管理职位)-->CTO技术方面的总裁-->自己搞公司 从菜鸟到准程序员 就是至少要 自己独立完成一个小项目。 要求: 1 一定自己动手,不要不写,也不要去抄。 2 尽可能的完成,不懂的要问。 做项目、软件的流程:原创 2014-07-07 08:31:43 · 450 阅读 · 0 评论 -
linux命令1
day1.1.终端窗口中只能使用键盘,不能使用鼠标;2.whoami 命令可以知道当前使用的账号;3.clear 命令可以清除屏幕上的所有内容;4.linux 操作系统使用文件系统来管理文件,文件系统由文件夹(目录)和文件构成; 目录是用来对文件进行分组管理的,目录可以逐层嵌套;5.linux 的文件系统是从一个源头发展出来的,这个源头叫做原创 2014-07-07 08:13:13 · 281 阅读 · 0 评论 -
uc10
回顾: 信号 - 信号集 sigset_t 及其相关函数 sigemptyset sigaddset sigdelset sigismember 信号屏蔽 - sigprocmask 信号注册增强版函数 - sigaction SA_SIGINFO sa_flags sa_sigaction 函数指针 IPC - 有名管道 mkfif原创 2014-07-07 08:30:45 · 385 阅读 · 0 评论 -
uc7
回顾: 文件相关 - 文件锁、文件相关函数 目录相关函数 - 4个+2个读目录的函数 文件锁主要是 读写锁,正确用法是 在调用读函数之前加读锁,在调用写函数之前加写锁,使用完毕后释放锁。如果需要一直等待加锁,可以F_SETLKW实现。 文件相关函数 - stat() access() chmod() truncate() ... mmap和fd结合使用,让虚拟内存地址原创 2014-07-07 08:28:25 · 368 阅读 · 0 评论 -
uc9
回顾: vfork()+exec系列函数 - 创建子进程的方式 执行全新的代码 vfork() 确保子进程先运行,不会复制 父进程的内存空间,但在调用exec系列函数之前会占用 父进程内存空间。 exec系列函数 可以 执行新的程序,替换以前的代码区、全局区、堆区、栈区。execl() execlp() waitpid() 让父进程等待子进程,比wait()更灵活原创 2014-07-07 08:29:13 · 476 阅读 · 0 评论 -
uc6
回顾: 文件 - 文件读写、字符串的处理、dup() dup2()文件描述符的复制、lseek()、fcntl()复制文件描述符、设置/获取文件表的状态、介绍了读写锁的概念今天: 文件锁、文件的其他相关函数、目录操作 文件锁的原理: 读写锁,包括一个读锁和一个写锁 读锁:共享锁,锁定其他进程的写操作,允许其他进程读。 写锁:独占锁,锁定其他进程的原创 2014-07-07 08:27:26 · 330 阅读 · 0 评论 -
uc5
回顾: Unix/Linux内存管理 - sbrk()、brk() 一般用sbrk()分配内存,brk()回收内存 底层维护了一个位置,以1个内存页为基本单位 mmap()/munmap() 虚拟内存地址和物理内存/硬盘文件 做映射 映射以后 虚拟内存地址才能被用来存储数据 基本的文件操作- open() close() read() write原创 2014-07-07 08:26:28 · 448 阅读 · 0 评论 -
uc2
回顾: Linux/Unix的简介 gcc的用法 预处理的指令 #error #warning #pragma 环境变量 PATH/CPATH/.... 头文件 - 自定义头文件 今天: 静态库和共享库(动态库) C语言的错误处理 环境变量在程序中的处理(环境表) 内存管理 由于项目比较复杂,代码数量非常庞大,可以把代原创 2014-07-07 08:36:09 · 374 阅读 · 0 评论 -
uc15
回顾: 线程 - 线程原理(CPU时间片)、线程的创建、线程的退出、线程参数和返回、线程同步-互斥量 线程的创建函数: pthread_create(&id,0,线程函数指针, 线程函数的参数); void* task(void*) - 线程函数的基本格式 在向task传参时,必须保证传入的指针有效。 返回值时,也要保证返回的指针有效。原创 2014-07-07 08:34:17 · 388 阅读 · 0 评论 -
uc14
回顾: 网络编程 - TCP 、UDP TCP一对多的编程步骤: Server: 1 socket() 2 struct sockaddr_in 3 bind() 4 listen() 5 在循环中调用 accept() 6 读写操作: read() write() send() recv() 7 close() Cl原创 2014-07-07 08:33:42 · 288 阅读 · 0 评论 -
uc4
回顾: 环境表 - getenv() putenv() setenv() ... 内存管理 - 函数调用的关系图(Unix/Linux) STL - 自动 C++ - new delete C - malloc() free() Unix- sbrk() brk() Unix- mmap() munmap() 一个进程的内存空间:原创 2014-07-07 08:25:58 · 520 阅读 · 0 评论 -
uc3
回顾: 静态库(.a)和共享库(.so) ar -r gcc -shared -fpic gcc xx.c -l库名称 -L库路径 动态调用共享库 dlopen dlsym dlclose dlerror C的错误处理 1 函数中关于错误的设计 用 返回值 代表是否产生错误 返回int类型 用 -1 代表错误 返回指原创 2014-07-07 08:23:57 · 437 阅读 · 0 评论 -
uc8
回顾: fork() - 通过复制父进程创建子进程,代码区不复制,其他的区域都会复制。如果有文件描述符,只复制描述符,不复制文件表。fork()创建的子进程和父进程共享代码区。fork()之后父子进程同时运行,fork()并不确定父子进程谁先运行,也不确定谁先结束。 wait() - 父进程等待子进程的结束。如果有多个,任意一个结束就返回。 pid_t wait(int* sta原创 2014-07-07 08:28:06 · 782 阅读 · 0 评论 -
uc1
标准C - 基础,不考虑平台Unix/Linux下C的开发 - Unix/Linux系统操作系统: 内存管理、文件/目录管理、进程管理、线程管理、网络支持、信号、IPC进程间通信UC 15天前半部分 理论+系统函数后半部分 系统函数应用为主理论上的东西 尽可能 理解,系统函数要求熟练使用。学习方法: 1 至少9小时的时间(课上6,课下3)。 2 程序员 首先原创 2014-07-07 08:23:25 · 797 阅读 · 0 评论 -
uc13
回顾: 信号量集 - 如何使用信号量集实现 控制访问共享资源的并行进程最大数量。信号量集的使用步骤: 1 ftok() 获取 key 2 semget() 创建/获取 信号量集(数组) 3 给每个信号量做初始化最大值 函数semctl() 4 对信号量的计数进行 +1 或 -1 操作 函数semop 5 如果不再使用,可以删除 semctl 网络 - 网络原创 2014-07-07 08:31:53 · 297 阅读 · 0 评论