linux
不走平常路
忠于自己的信念!奋斗不息,战斗不止!我们的功绩将载入史册 我们的行为将塑造未来!
-德玛西亚
展开
-
gcc编译C和C++程序
linux下利用gcc编译C和C++原文:http://www.cnblogs.com/holens/p/5472239.html转载 2017-08-22 20:34:03 · 568 阅读 · 0 评论 -
linux下的系统调用全过程
使用的 glibc : glibc-2.17 使用的 linux kernel :linux-3.2.07系统调用是内核向用户进程提供服务的唯一方法,应用程序调用操作系统提供的功能模块(函数)。用户程序通过系统调用从用户态(user mode)切换到核心态(kernel mode ),从而可以访问相应的资源。这样做的好处是:为用户空间提供了一种硬件的抽象接口,使编程更加容易。转载 2018-01-05 07:35:04 · 14435 阅读 · 0 评论 -
linux 互斥 条件变量
多线程代码问题描述我们都知道,进程是操作系统对运行程序资源分配的基本单位,而线程是程序逻辑,调用的基本单位。在多线程的程序中,多个线程共享临界区资源,那么就会有问题:比如#include <pthread.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>i...转载 2019-05-11 21:26:19 · 96 阅读 · 0 评论 -
linux 信号量
如同进程一样,线程也可以通过信号量来实现通信,虽然是轻量级的。线程使用的基本信号量函数有四个: #include <semaphore.h>1. 初始化信号量int sem_init (sem_t *sem , int pshared, unsigned int value);参数:sem - 指定要初始化的信号量...转载 2019-05-11 21:36:53 · 137 阅读 · 0 评论 -
pthread question
(迅雷笔试题):编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。#include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd...转载 2019-05-11 22:56:18 · 109 阅读 · 0 评论 -
linux 读写锁
一、读写锁是什么?读写锁其实还是一种锁,是给一段临界区代码加锁,但是此加锁是在进行写操作的时候才会互斥,而在进行读的时候是可以共享的进行访问临界区的ps:读写锁本质上是一种自旋锁二、为什么需要读写锁?有时候,在多线程中,有一些公共数据修改的机会比较少,而读的机会却是非常多的,此公共数据的操作基本都是读,如果每次操作都给此段代码加锁,太浪费时间了而且也很浪费资源,降低程序的效率,因为读操...转载 2019-05-11 23:26:02 · 237 阅读 · 0 评论 -
linux内存分配原理
Linux进程分配内存的两种方式--brk() 和mmap()如何查看进程发生缺页中断的次数?用ps -o majflt,minflt -C program命令查看。majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。 这两个数值表示一个进程自启动以来所发生的缺页中断...转载 2019-08-25 20:17:38 · 963 阅读 · 0 评论 -
linux vfs 文件系统
本文将介绍一下Linux的VFS虚拟机文件系统,主要介绍该文件系统在Linux中的作用及概要实现。我们知道在Linux系统中一切皆文件,如果说文件系统是Linux系统的基石一点也不过分。在Linux系统中基本上把其中的所有内容都看作文件,除了我们普通意义理解的文件之外,目录、字符设备、块设备、 套接字、进程、线程、管道等都被视为是一个“文件”。例如对于块设备,我们通过fdisk -l显示块设备列表...转载 2019-09-08 23:25:50 · 280 阅读 · 0 评论