当前位置: 首页 > Linux

Linux_2

时间:2023-04-06 01:48:07 Linux

Linux概览一:Linux学习之路第一坡:摒弃陈旧的思维习惯,熟练使用Linux命令行。《鸟哥的 Linux 私房菜》《Linux 系统管理技术手册》第二坡:通过系统调用或glibc自学编程。《UNIX 环境高级编程》了解Linux内核机制,反复钻研重点突破。《深入理解 LINUX 内核》第四坡:阅读Linux内核代码,关注核心逻辑和场景。《LINUX 内核源代码情景分析》第五坡:试验定制的Linux组件,成为内核开发工程师。最后一个斜坡:真实场景开发,实战开发。二:内核架构三:各系统模块简析1.进程管理创建进程的系统调用称为fork。中文叫“支”。创建进程分支。在Linux中,创建一个新进程需要一个旧进程调用fork来实现,其中旧进程称为父进程,新进程称为子进程。运行新的二进制文件execve,等待子进程结束waitpid。2、内存管理程序代码部分称为代码段(CodeSegment),过程中产生的数据部分称为数据段(DataSegment)。3.文件管理对于一个已经存在的文件,可以使用open打开文件,close关闭文件;对于已经存在的文件,可以使用creat创建文件;打开文件后,可以使用lseek跳转到文件中的某个位置;文件内容读写,读系统调用read,写write。4、信号处理发送信号kill,信号处理sigaction执行程序时,在键盘上输入“CTRL+C”,这是中断信号,正在执行的命令会停止并退出;如果内存被非法访问,例如,如果你跑去别人的会议室,你可能会看到不该看到的东西;硬件故障、设备问题,当然要通知项目组;用户进程通过kill函数向另一个进程发送用户信号。5.Semaphore,进程间通信信号量的一种机制。消息队列:创建队列msgget,发送消息msgsnd,接收消息msgrcv共享内存:创建共享内存shmget,将共享内存映射到内存空间shmat。信号量:抢占信号量sem_wait,释放信号量sem_post6。为网络通信创建socketsocket绑定端口bindinitiateconnectionconnectreceiveconnectionacceptlistenlisten