linux
TuxedoLinux
这个作者很懒,什么都没留下…
展开
-
linux 新建用户、用户组 以及为新用户分配权限
最近项目中使用hadoop 一开始在linux下的root用户上做试验现在转到hadoop用户下所以要新建hadoop用户了直接入主题:Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文转载 2018-01-18 21:39:41 · 4060 阅读 · 0 评论 -
ioctl
ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的参数个数如下:int ioctl(int fd, int cmd, …);其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,有或没有是和cmd...转载 2018-08-05 00:33:59 · 261 阅读 · 0 评论 -
操作系统学习笔记(一) 进程与线程模型
操作系统学习笔记(一) 进程与线程模型进程可以说是操作系统最为核心的一个抽象,而线程可以认为是一种轻量级的进程,或者说一个进程内的多个迷你进程。一、进程的模型进程(process):进程是一个正在运行的程序的实例。对于一个单核的处理器,每个时刻只能运行一个程序,但在每一个时间段,它可能运行多个进程,这样就产生了并行的错觉。从概念上说,每个进程拥有自己的虚拟CPU,好像它独占了CPU的...转载 2018-08-21 17:40:38 · 241 阅读 · 0 评论 -
Linux内存分配小结--malloc、brk、mmap
Linux内存分配小结--malloc、brk、mmap http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201210975312473/http://blog.sina.com.cn/s/blog_7c60861501015vkk.htmlLinux 的虚拟内存管理有几个关键概念: 1、每个进程都有独立的虚拟...转载 2018-08-22 00:15:30 · 242 阅读 · 0 评论 -
pthread_create用法(转)
pthread_create用法(转)在转载别人文章之前,说一下 pthread_create(); 创建线程返回值。正常情况下,创建成功则返回 0 ;如果创建失败 通常返回常见的 错误返回代码为:EAGAIN#define EAGAIN 35 // Resource temporarily unavailable和EINVAL#define ...转载 2018-10-09 00:31:47 · 8224 阅读 · 0 评论 -
操作系统面试题
操作系统面试题1、线程与进程的区别联系2、进程通信方式有哪些?3、同步的方式有哪些?4、ThreadLocal与其它同步机制的比较5、进程死锁的条件 第一题:(1)线程是进程的一个实体,一个进程可以拥有多个线程,多个线程也可以并发执行。一个没有线程的进程也可以看做是单线程的,同样线程也经常被看做是一种轻量级的进程。并且进程可以不依赖于线程而单独存在,而线程则不然。...转载 2018-10-28 21:26:39 · 236 阅读 · 0 评论 -
从内核文件系统看文件读写过程
从内核文件系统看文件读写过程http://www.cnblogs.com/huxiao-tee/p/4657851.html阅读目录系统调用 虚拟文件系统 I/O 缓冲区 Page Cache Address Space 文件读写基本流程回到顶部系统调用操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境,但是计算机系统的各种硬件资源是有限的,因...转载 2018-10-31 09:41:50 · 259 阅读 · 0 评论 -
Linux--线程池与进程池及线程池的简单实现
Linux--线程池与进程池及线程池的简单实现https://blog.csdn.net/sayhello_world/article/details/72829329http://blog.chinaunix.net/uid-26430381-id-3746859.htmlhttps://www.cnblogs.com/huxiao-tee/ 池由于服务器的硬件资源“充裕...转载 2018-10-30 12:11:54 · 193 阅读 · 1 评论 -
LINUX 信号机制【列表】
LINUX 信号机制【列表】 信号本质信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强...转载 2018-11-01 15:12:16 · 176 阅读 · 0 评论 -
基于管道的popen和pclose函数
基于管道的popen和pclose函数https://my.oschina.net/renhc/blog/35116 标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行。这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程。popen函数还创建一个管道用于父子进程间通信。父进程要么从管道读信息,要么向管道写信息,至于是读还是写...转载 2018-11-01 15:26:37 · 189 阅读 · 0 评论 -
stat64
32位Linux下操作64位(4G以上)大文件的总结 自http://hi.baidu.com/ah__fu/item/502cb335e7e1dff7e6bb7a7e 1、包含所有头文件以前,先定义这些宏:#ifndef __USE_FILE_OFFSET64#define __USE_FILE_OFFSET64#endif#ifndef __USE_LARGEFILE...转载 2018-11-01 16:11:09 · 2673 阅读 · 0 评论 -
Linux系统资源查看 之 资源信息
Linux系统资源查看 之 资源信息1. 系统版本信息 内核版本 使用 uname 命令: -a : 查看所有系统信息 -r : 查看内核版本信息 -s : 查看内核名称 代码如下:[niesh@niesh ~]$ uname -aLinux niesh 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10...转载 2018-12-30 14:43:23 · 663 阅读 · 0 评论 -
Unix/Linux开源世界资源链接汇总【不断更新】
Unix/Linux开源世界资源链接汇总【不断更新】https://blog.csdn.net/21aspnet/article/details/6754126转载 2019-04-05 22:23:10 · 114 阅读 · 0 评论 -
linux环境内存分配原理 mallocinfo
linux环境内存分配原理 mallocinfohttps://www.cnblogs.com/dongzhiquan/p/5621906.htmlLinux的虚拟内存管理有几个关键概念:Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全部使用 mmap 来分配,munmap直接...转载 2019-05-13 14:42:01 · 283 阅读 · 0 评论 -
Linux编程——文件操作
Linux编程——文件操作 文件在Linux系统中是一个广泛的概念,Linux将所有的硬件设备当作文件来处理,因此了解文件操作是十分重要的。(一)文件和目录操作1.stat 获取文件属性 #include <sys/types.h> #include <sys/stat.h> #include <uni...转载 2018-08-04 23:58:42 · 244 阅读 · 0 评论 -
内存
想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题。当然如果更加深入一点,你可能会问进程所占用的那些物理内存都用在了哪些地方?这时候top命令可能不能给到你...转载 2018-07-07 20:36:50 · 448 阅读 · 0 评论 -
Linux进程间通信-信号
Linux进程间通信-信号1.什么是信号信号是Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会执行相应的操作。2.信号的产生1)由硬件产生,如从键盘输入Ctrl+C可以终止当前进程2)由其他进程发送,如可在shell进程下,使用命令 kill -信号标号 PID,向指定进程发送信号。3)异常,进程异常时会发送信号3.信号的处理信号是由操作系统来处理的,说明信号的处理在内核态。信号不...转载 2018-04-30 15:54:13 · 188 阅读 · 0 评论 -
Linux启动新进程的三种方法
Linux启动新进程的三种方法程序中,我们有时需要启动一个新的进程,来完成其他的工作。下面介绍了三种实现方法,以及这三种方法之间的区别。1.system函数-调用shell进程,开启新进程system函数,是通过启动shell进程,然后执行shell命令进程。原型:int system(const char *string);string:shell命令字符串返回值:成功返回命令退出码,无法启动s...转载 2018-04-30 15:55:28 · 5236 阅读 · 0 评论 -
Linux写时拷贝技术(copy-on-write)
Linux写时拷贝技术(copy-on-write)1.传统的fork()函数创建一个子进程,子进程和父进程共享正文段,复制数据段,堆,栈到子进程示意图如下:2.Linux的fork()函数-写时复制(copy-on-write)创建一个子进程,内核只为子进程创建虚拟空间,不分配物理内存,和父进程共享物理空间,当父进程中有更改相应段的行为发生时,才为子进程分配物理空间。示意图如下:3.vfork(...转载 2018-04-30 15:56:13 · 366 阅读 · 0 评论 -
Linux共享内存
Linux共享内存1.什么是共享内存在前面讲虚拟内存机制时,有讲到Linux的内存映射机制:初始化虚拟内存区域时,会把虚拟内存和磁盘文件对象对应起来。由于内存映射机制,一个磁盘文件对象可被多个进程共享访问,也可被多个进程私有访问。当共享访问时,一个进程的对该对象的修改会显示到其他进程。当私有访问时,修改时会产生保护故障,内核会拷贝这个私有对象,修改的是这个新对象,其他进程指向的是原来的对象。所以,...转载 2018-04-30 15:56:58 · 335 阅读 · 0 评论 -
Linux信号量详解
Linux信号量详解1.什么是信号量信号量是一种特殊的变量,访问具有原子性。只允许对它进行两个操作:1)等待信号量当信号量值为0时,程序等待;当信号量值大于0时,信号量减1,程序继续运行。2)发送信号量将信号量值加1。我们使用信号量,来解决进程或线程间共享资源引发的同步问题。2.Linux中信号量的使用Linux提供了一组信号量API,声明在头文件sys/sem.h中。1)semget函数:新建信...转载 2018-05-02 13:29:02 · 24462 阅读 · 0 评论 -
SSH登录详解
SSH登录详解1.什么是SSH登录SSH是一种网络协议,用于计算机之间的加密登录。相比传统的账户密码登录,SSH提供了一种更便捷安全的登录方式。2.SSH登录流程登录操作如下ssh user@hostSSH之所以能保证安全,是因为它采用了公钥加密。整个流程如下:(1)远程主机收到用户的登录请求,将自己的公钥发给用户(2)用户使用这个公钥,将登录密码加密后,发送给远程主机(3)远程主机用自己的私钥,...转载 2018-05-27 22:22:14 · 21810 阅读 · 1 评论 -
IO之内核buffer----"buffer cache"
IO之内核buffer----"buffer cache" 分类: LINUX原文地址:IO之内核buffer----"buffer cache" 作者:weizhulinux"buffer cache"要理解"buffer cache"这个东西,需要澄清一下概念:一般情况下,进程在io的时候,要依赖于内核中的一个buffer模块来和外存发生数据交换行为。另一个角度来说,数据从应用进程自己的buf...转载 2018-06-03 20:06:38 · 185 阅读 · 0 评论 -
linux系统设置环境变量
linux系统设置环境变量Ubuntu Linux 系统环境变量配置文件主要有以下机个地方:1. /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。2. /etc /environment : 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。3. ~/....转载 2018-06-11 16:30:07 · 342 阅读 · 0 评论 -
fstat函数及struct stat结构
fstat函数及struct stat结构 一、fstat 函数功能:由文件描述符取得文件状态。相关函数:stat 、lstat 、chmod 、chown 、readlink 、utime。头文件: #include<sys/stat.h> #include<unistd.h>函数声明: int fstat (int filedes,struct *...转载 2018-06-05 17:39:22 · 227 阅读 · 0 评论 -
一.fileno()函数
一.fileno()函数功 能:把文件流指针转换成文件描述符相关函数:open, fopen表头文件:#include <stdio.h>定义函数:int fileno(FILE *stream)函数说明:fileno()用来取得参数stream指定的文件流所使用的文件描述词返回值 :返回和stream文件流对应的文件描述符。如果失败,返回-1。范例:#include <...转载 2018-06-05 18:14:40 · 22108 阅读 · 0 评论 -
计算机硬件有两种储存数据的方式
1.计算机硬件有两种储存数据的方式:大端字节序(big endian)和小端字节序(little endian)。举例来说,数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11。大端字节序:高位字节在前,低位字节在后,这是人类读写数值的方法。小端字节序:低位字节在前,高位字节在后,即以0x1122形式储存。同理,0x1234567的大端字节序和小端字节序的写法如下图。2.我一直...转载 2018-06-13 11:08:15 · 1754 阅读 · 0 评论 -
linux 同步IO: sync、fsync与fdatasync
linux 同步IO: sync、fsync与fdatasync 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区...转载 2018-06-01 15:23:44 · 171 阅读 · 0 评论 -
ftello
ftell/ftello、fseek/fseeko、fsetpos/fgetpos、rewind20 讲解了在标准IO流中position(位置)相关函数#include <stdio.h>int fseek(FILE *stream, long offset, int whence);//Returns: c...转载 2018-06-01 15:44:32 · 2533 阅读 · 0 评论 -
进程地址空间与虚拟存储空间的理解
进程地址空间与虚拟存储空间的理解https://www.cnblogs.com/zhiliao112/p/4251185.htmlhttps://blog.csdn.net/do2jiang/article/details/4690967在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制 ...转载 2019-05-13 16:21:51 · 155 阅读 · 0 评论