Unix/Linux操作系统
cbnzww
go get it.
展开
-
Unix/Linux操作系统-线程管理
一、线程基本概念线程就是进程中的执行路线,即进程内部的控制序列,或者说是进程的子任务(进程就是正在运行的程序,它是一个资源单位)线程是轻量级的,没有自己独立的内存资源,使用的是进程的代码段,数据段,bss段,堆(注意没有栈),环境变量表、命令行参数、文件描述符、信号处理函数、工作目录、用户ID、组ID等资源线程拥有自己独立的栈,也就是有自己独立的局部变量一个进程中可以同时拥有多个线程,即...原创 2019-08-07 16:49:49 · 249 阅读 · 0 评论 -
Unix/Linux操作系统-网络通信Ⅱ
五、与阿里ECS服务器进行网络通信开启端口号,详细操作请看视频使用FlashFXP上传代码使用putty远登陆ECS服务器,修改代码、编译、执行六、基于UDP协议的C/S模型头文件:#include <sys/types.h> / #include <sys/socket.h>函数声明:ssize_t sendto(int sockfd, const voi...原创 2019-08-07 11:59:53 · 179 阅读 · 0 评论 -
Unix/Linux操作系统-进程通信Ⅱ
六、信号量内核维护的计数量,用于管理多进程之前共享资源。 进程与进程互相独立,计数量可加可减。编程模型:进程A操作进程B操作创建信号量semget获取信号量semctl初始化信号量的值semctl…加减信号量semop加减信号量semop删除信号量semctl…注意:信号量只计数,需与资源数量对应,初始化的值与资源的数...原创 2019-08-06 11:43:22 · 150 阅读 · 0 评论 -
Unix/Linux操作系统-网络通信
一、计算机网络什么是计算机网络计算机网络是指地理位置不同的具有独立功能的多台计算机以及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。计算机网络的功能数据通信资源共享提高系统的可靠性分布式网络处理和负载均衡计算机网络的组成通信子网:网卡、线缆、集线器、中继器、交换机、路由器资源子网:网络中的计...原创 2019-08-05 20:31:29 · 528 阅读 · 0 评论 -
Unix/Linux操作系统-进程通信
一、基本概念进程间通信(IPC):是指两个或多个进程之间交换数据的过程目的:每个独立的进程个体(资源单位)为了协同工作,提高效率进程间通信方式:1、简单进程间通信:命令行参数、环境变量表、信号、文件2、传统进程间通信:管道3、XSI进程间通信:共享内存、消息队列、信号量4、网络进程间通信:socket二、传统的进程间通信管道:UNIX系统最古老的进程间通信方式(基本不再使用),通...原创 2019-07-31 18:32:19 · 202 阅读 · 0 评论 -
Unix/Linux操作系统-进程管理
一、基本概念程序:存储在磁盘上的文件,包含可执行指令和数据的静态实体。进程:运行中的程序。一个程序可以执行多次,加载出多个进程。活动状态下的计算机程序。进程的分类:交互进程、批处理进程、守护进程交互进程:有出入输出,用户可以根据自己的情况输入数据,得到想要的结果(一般情况下的进程)批处理进程:由脚本加载执行的程序(Linux下的shell,Windows下的bat)守护进程:总是活跃...原创 2019-07-30 20:59:18 · 385 阅读 · 0 评论 -
Unix/Linux操作系统-文件管理
一、sync/fsync/fdatasync硬盘上一般都有一些缓冲区以此来提高数据的写入效率,操作系统写入数据其实只是写入缓冲区,直到缓冲区满才排队写入硬盘中。这种操作降低了写入的次数,但提高了数据写入的延时,导致缓冲区中的数据与磁盘中的内容不同步。#include <unistd.h>void sync(void);功能:把所有缓冲区中的数据全部同步到磁盘注意:只是...原创 2019-07-25 12:53:13 · 429 阅读 · 0 评论 -
Unix/Linux操作系统-文件操作
系统调用UNIX./ Linux系统绝大部分功能都是通过系统调用实现,如:open / close …UNIX / Linux把系统调用都封装成了C函数的形式,但他们并不是标准C的一部分。标准库中的函数绝大部分时间都工作在用户态,但部分时间也需要切换到内核(进行了系统调用),比如:fread / fwrite / malloc / free.我们自己所编写的代码也可以直接调用系统接口进...原创 2019-07-24 17:56:49 · 837 阅读 · 0 评论 -
Unix/Linux操作系统-信号处理
一、信号的基本概念中断:中止当前正在执行的任务,转而执行其他任务(返回或不返回)。1.1 硬件中断:硬件设备产生的中断(键盘按键产生的中断)。1.2 软件中断:其他程序产生的中断。信号:是一种软件中断,提供了一种异步执行任务的中断。2.1 常见的信号:SIGINT(2):终端中断符信号,用户按中断键(Ctrl+C),产生此信号,并送至前台进程组的所有进程SIGQUIT(3):终端退...原创 2019-07-29 16:32:18 · 233 阅读 · 0 评论 -
Unix/Linux操作系统-内存管理
错误处理通过函数返回值表示错误返回值合法表示成功,非法表示失败返回值有效指针表示成功,空指针(NULL/0xffffffff)表示失败返回0表示成功,-1表示失败永远成功,printf练习1、str_len 求字符串长度,若指针为空则报错练习2、str_cpy(char* dest size_t dlen char* src)字符串拷贝函数,考虑目标的溢出问题,如果目标位置无效或...原创 2019-07-24 17:08:40 · 407 阅读 · 0 评论 -
Unix/Linux操作系统-环境介绍
Unix操作系统丹尼斯.里奇、肯.汤普森于1971年左右在美国贝尔实验室,使用C语言开发了这款操作系统。系统的特点是多用户、多任务,支持多种处理器架构,高安全性、高可靠性、高稳定性。既可以构建大型关键业务系统商用服务器,也可以构建苹果手机的服务器。三大衍生版本System V:银行、电信使用的服务器系统Berkley:MacOS、iOS带界面的Hybrid:Minix、Linux...原创 2019-07-22 19:21:34 · 990 阅读 · 0 评论 -
Unix/Linux操作系统-线程同步
一、同步、竞争、互斥同步:达到某种状态,当多个线程同时访问其共享的资源时,需要相互协调,防止出现数据不一致、不完整的问题。竞争:有些资源在同一时刻只有一个线程访问,对于这种资源的访问,需要竞争。互斥:当资源获取到后,能够防止资源被其他线程再次获取的方法交互斥。二、互斥量三、死锁死锁:多个线程进行等待对方的资源,在得到所有的资源继续运行前,都不会释放自己的资源,这样造成的循环等待现...原创 2019-08-12 17:29:10 · 131 阅读 · 0 评论