Linux--系统编程知识总结

一、常见指令以及权限指令

①、冯·诺依曼体系结构

②、环境变量

③、Linux文件类型、Linux的扩展名、Linux shell指令运行的原理、Linux权限管理

④、指令:

a.安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;

b.文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

c.系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;

d.网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;

e.系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;

f.其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode二、Vim的使用以gcc、g++的使用、gdb、ctags、makefile、make

三、进程的概念与编程

①、进程的概念

②、进程描述:进程控制块、进程标示符、进程位置、

③、进程状态

④、进程优先级

⑤、进程执行

⑥、进程环境

⑦、实际用户和有效用户

⑧、进程创建:fork、vfork

⑨、进程等待:wait、waitpid

10、进程程序替换: execl、execlp、execle、execv、execvp、execve、

11、进程终止:exit _exit

四、进程间通信

①、管道

②、命名管道(FIFO)

③、XSI IPC(消息队列,信号量,共享内存)

五、多线程编程

①、线程的概念

②、线程控制

a.创建线程 pthread_create()

b.终止线程 三种方式?

c.线程等待

③、线程分离

④、线程同步

a.mutex(互斥量)

b.条件变量

c.信号量

d.生产者-消费者

e.读写锁

六、信号

①、信号的概念

②、信号的产生:三种方式

③、信号的处理方式:三种

④、阻塞信号:信号的递达、未决、

⑤、SIGCHLD

七、终端、作业控制与守护进程

①、进程组、作业、会话

②、终端

③、作业控制

a.Session与进程组

b.与作业有关的信号

④、守护进程

a.创建守护进程

时间: 2024-10-10 09:00:00

Linux--系统编程知识总结的相关文章

linux系统编程综合练习-实现一个小型的shell程序(四)

上节中已经对后台作业进行了简单处理,基本上要实现的功能已经完了,下面回过头来,对代码进行一个调整,把写得不好的地方梳理一下,给代码加入适当的注释,这种习惯其实是比较好了,由于在开发的时候时间都比较紧,都只是想办法去尽快实现,而肯定会有一些代码是写得不太好的,所以有时间的话最好是从头至尾将整个代码进行梳理,也许在梳理的过程中会发现许多不足的地方,好了,下面开始: 而这个信号安装函数是在init.c中实现的: 接下来进行shell循环: 它的实现是在parse.c中: 如注释所示,可以挪至init.

Linux系统编程博客参考

通过看前人的博客更易于把握知识要点 http://www.cnblogs.com/mickole/category/496206.html <Linux系统编程> http://www.cnblogs.com/DayByDay/category/599079.html <UNIX环境高级编程学习笔记> http://blog.csdn.net/bytxl/article/details/8584993 UNIX环境高级编程(第2版)- 第1-10章

Linux系统基础知识

1.linux概述 ??Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.??Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间).Linux存在着许多不同的Linux版本,但它们都使用了Linux内核.Linux可安装在各

LINUX系统编程 由REDIS的持久化机制联想到的子进程退出的相关问题

19:22:01 2014-08-27 引言: 以前对wait waitpid 以及exit这几个函数只是大致上了解,但是看REDIS的AOF和RDB 2种持久化时 均要处理子进程运行完成退出和父进程需要做的什么事情,所以特定看了UNIX环境编程和LINUX系统编程这2本书 重新梳理下整个要点. 内容: 一般而言: 如果程序类似于下面的情况: if((pid=fork())==0) { dochildtthing(); exit(0); } else if(pid>0) { dofathertt

Linux系统编程-setitimer函数

功能:linux系统编程中,setitimer是一个经常被使用的函数,可用来实现延时和定时的功能. 头文件:sys/time.h 函数原型: int setitimer(int which, const struct itimerval *new_value, struct itimerval *old_value); 参数含义: 1.which参数用来设置定时器类型,可选的值为 (1)ITIMER_REAL : 设置定时器以系统真实所花费的时间来计时,运行指定时间后发送SIGALRM信号. (

Linux系统编程笔记

写在开篇:出于对未来职业规划的考虑(其实还是一团糟),制定了一个基本的学习方向,那就是从系统编程学习API慢慢的深入内核,这是一个比较成熟的学习路线.所以从本篇开始,在这段时间会陆续记录Linux系统编程的学习笔记,除了供学习之余复习只用,同时也期望能记录初入职场摸爬滚打的第一个3年. 第一章 文件I/O 文件访问的基本调用一般是 read()和write(),但是在访问文件之前,要做的是一项很重要的工作就是:打开,没错!通过调用 open()或create()实现 #include <sys/

Linux系统编程@进程通信(一)

进程间通信概述 需要进程通信的原因: 数据传输 资源共享 通知事件 进程控制 Linux进程间通信(IPC)发展由来 Unix进程间通信 基于System V进程间通信(System V:UNIX系统的一个分支) POSIX进程间通信(POSIX:可移植操作系统接口,为了提高UNIX环境下应用程序的可移植性.很多其他系统也支持POSIX标准(如:DEC OpenVMS和Windows).) 现在Linux使用的进程间通信方式包括: 管道(pipe).有名管道(FIFO) 信号(signal) 消

linux系统编程之管道(一):匿名管道(pipe)

原文地址:http://www.cnblogs.com/mickole/p/3192210.html 一,什么是管道 管道是Linux支持的最初Unix IPC形式之一,具有以下特点: 管道是半双工的,数据只能向一个方向流动:需要双方通信时,需要建立起两个管道: 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程): 单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中. 数据的读

Linux系统编程之访问文件夹及其文件属性

1. 文件夹操作:opendir, readdir, closedir 2. 文件属性:lstat 3. 实现功能:获取指定文件夹下所有的文件(使用递归),因此就能计算所有文件大小之类的啦... 代码示例如下: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <errno.h> #include <sys/stat

linux系统编程之信号(四)

今天继续探讨信号相关的东东,话不多说,正入正题: 信号在内核中的表示: 下面用图来进一步描述这种信号从产生到递达之间的状态(信号阻塞与未诀): 那是怎么来决定的呢?下面慢慢来举例分解: 所以,通过这些图,可以描述信号从产生到递达的一个过程,上面的理解起来可能有点难,下面会用代码来进一步阐述,在进行实验之前,还需了解一些函数的使用,这些函数在实验中都会被用到,也就是信号集操作函数. 信号集操作函数: 其中解释一下sigset_t,百度百科解释为: 而这个函数的意义就是将这64位清0 这个函数的意义