2024年最新学了这么久的Linux系统调用你知道多少 (1)

        +------------------------+  
        |    System call library  |<----+  
        +------------------------+     |  
                  |                     |  
                  |   System Call       |  
                  +---------------------+      
                  |                     |  
+-------------------------------------|-----+  
|                                     |     |  
|  +-----------------+      +-----------------------+  
|  |                 |      |                       |  
|  | Kernel mode     |      | System call processing |  
|  |                 |      |                       |  
|  +-----------------+      +-----------------------+  
+---------------------------------------------------+


> 
> Linux 系统调用提供了多种功能,其中包括进程管理,文件管理,设备管理,网络管理和系统信息管理。
> 
> 
> 


### Linux 中的系统调用类型


#### 1. 进程管理系统调用



> 
> 进程管理系统调用包括创建新进程,等待进程结束,杀死进程,暂停和恢复进程等操作。其中最常用的系统调用包括:
> 
> 
> 


* fork(): 该系统调用可以创建一个新进程,并复制父进程的所有资源和程序代码。通常在进程间通信和子进程创建中使用。
* execve(): 该系统调用用于在已有进程内执行一个新的程序。执行时,覆盖原进程的代码段、数据段、程序堆栈等。
* wait(): 该系统调用用于父进程等待子进程结束,回收其资源。在父进程调用 wait() 时,如果子进程已结束,父进程会立即返回;否则会被阻塞,直到子进程结束为止。


#### 2. 文件管理系统调用



> 
> 文件管理系统调用包括打开和关闭文件,读取和写入文件,锁定和解锁文件等操作。其中最常用的系统调用包括:
> 
> 
> 


* open(): 该系统调用用于打开文件,并返回一个文件描述符(File Descriptor, FD),以后所有对文件的操作都要使用该 FD 进行。它的原型是:int open(const char \* pathname, int flags, mode\_t mode);
* close(): 该系统调用用于关闭文件。在使用完文件之后,一定要关闭,避免资源泄漏。它的原型是:int close(int fd);
* read(): 该系统调用用于从文件中读取数据,它的原型是:ssize\_t read(int fd, void \*buf, size\_t count);
* write(): 该系统调用用于向文件中写入数据,它的原型是:ssize\_t write(int fd, const void \*buf, size\_t count);


#### 3. 设备管理系统调用



> 
> 设备管理系统调用包括设备驱动程序的信息、设备文件的访问,以及系统与IO设备的交互等操作。其中最常用的系统调用包括:
> 
> 
> 


* ioctl(): 该系统调用用于控制 IO 设备的操作,包括获取设备状态信息,设置设备属性等。它的原型是:int ioctl(int fd, unsigned long request, …);
* open() 和 close() 等之前提到的文件管理系统调用也可用于设备的访问。


#### 4. 网络管理系统调用



> 
> 网络管理系统调用用于网络资源的访问和管理。其中最常用的系统调用包括:
> 
> 
> 


* socket(): 该系统调用用于创建一个套接字(socket),并返回一个文件描述符。它的原型是:int socket(int domain, int type, int protocol);
* accept(): 该系统调用用于监听一个套接字,并返回一个用于通信的新文件描述符。它的原型是:int accept(int sockfd, struct sockaddr \*addr, socklen\_t \* addrlen);
* connect(): 该系统调用用于连接到远程套接字。它的原型是:int connect(int sockfd, const struct sockaddr \*addr, socklen\_t addrlen);


#### 5. 系统信息管理系统调用



> 
> 系统信息管理系统调用用于获取系统的状态和信息。其中最常用的系统调用包括:
> 
> 
> 


* getpid(): 该系统调用用于获取当前进程的 PID;
* getuid():该系统调用用于获取当前进程的 UID。
* getcwd():该系统调用用于获取当前工作目录。



> 
> 总之,Linux 的系统调用提供丰富的功能,支持进程管理,文件管理,设备管理,网络管理,和系统信息管理等多种服务。在实际编程中,需要根据需求选择适当的系统调用来实现相应的功能。
> 
> 
> 


**黑客&网络安全如何学习**


**今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。**


##### **1.学习路线图**


![](https://img-blog.csdnimg.cn/img_convert/f6d7a70326a6c0071cc4dc6b3eeb8f95.png)


攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。


##### **2.视频教程**


网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。


内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。


![](https://img-blog.csdnimg.cn/img_convert/0d8fcc94a8238255b741c19633efd10c.jpeg)


(都打包成一块的了,不能一一展开,总共300多集)


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取


********************************[CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享](https://bbs.csdn.net/topics/618542503)********************************


##### **3.技术文档和电子书**


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值