首页 > 系统相关 >linux_1

linux_1

时间:2024-11-07 23:42:09浏览次数:1  
标签:Fork 调用 linux 进程 共享 资源 wait

静态库:

  1. 以lib开头,文件名通常:libxxx.a;

  2. 静态库在编译时,会链接(拷贝一份)放到可执行程序;

  3. 因为要被复制到可执行文件,所以代码体积会增大。它不会共享。

  4. 若库被更新了程序需要重新编译。

共享库:

  1. 文件名通常libxx.so;在需要这个库时程序需要回到共享库区执行库中的代码。
  2. 库更新时只需要替换库文件而不用重新编译。
  3. 有可能会被多个程序调用。

进程三大状态:

  1. 就绪:程序已被分配资源,等待内核调用。
  2. 运行:进程被分配时间片,正在执行;
  3. 阻塞:进程资源用完,等待分配资源。
  4. 转换:进程得到时间片进入运行状态,时间片用完返回就绪态;若执行时某种资源不足,或者与其他进程争夺资源,进入阻塞态。等分配到资源进入就绪态。

image

创建一个新进程可以用Fork();

  1. 当一个进程被Fork(),此时Fork出来的子进程就得到了父进程的当前的一切;父子进程同时运行——并发。

  2. 并行:系统调用多个内核,同一时刻执行多个进程。

  3. 并发:系统只调用一个内核,在某个时间段内,多个进程交替执行。

  4. 僵尸进程:子进程先结束,父进程没有wait()子进程的退出码,此时子进程称为僵尸进程。

    解决方法:在子进程结束时让父进程wait子进程的退出码;或者杀死父进程,让init进程接管子进程,再wait.

  5. 孤儿进程:父进程先结束,子进程称为孤儿进程;通常被init进程接管再wait ;

  6. 写时拷贝:当fork出子进程时,不会立即为它分配独立的资源,它共享父进程的资源;当父进程或者子进程对这段资源进行修改时,此时会将这段资源复制一份给子进程。

系统调用与库函数:

系统调用:系统通过调用某些接口函数来实现某个功能。

库函数:为了实现复杂全面的操作会将系统调用进行封装优化,再提供给用户。

标签:Fork,调用,linux,进程,共享,资源,wait
From: https://www.cnblogs.com/hwaityd/p/18534243

相关文章

  • Linux基础 -- (1)
    声明:本文的学习内容来源于B站up主“泷羽sec”的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题,请联系本人,我将立即删除相关内容。本文旨在帮助网络安全爱好者提升自身安全技能,并严格遵守国家法律法规。任何人利用本文......
  • 轻松上手:在Linux上用Docker部署Cloudreve云盘,远程访问无压力!
    文章目录前言1.安装Docker2.使用Docker拉取镜像3.创建并启动Cloudreve容器4.本地访问测试5.公网远程访问本地Cloudreve5.1内网穿透工具安装5.2创建远程连接公网地址5.3使用固定公网地址远程访问前言本文主要介绍如何在Linux系统使用Docker快速部署Cloudrev......
  • 【面试全纪实 | Linux 07 文件管理命令类】请回答,你真的了解Linux吗?
    ......
  • Nexpose 6.6.277 for Linux & Windows - 漏洞扫描
    Nexpose6.6.277forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releasedNov06,2024请访问原文链接:https://sysin.org/blog/nexpose-6/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序新增功能2024年11月......
  • 逆向 | linux c父子进程通信模板
    逆向|linuxc父子进程通信模板#include<stdio.h>#include<sys/types.h>#include<sys/wait.h>#include<unistd.h>#include<stdlib.h>#include<errno.h>intmain(){pid_tpid;//parent_idpid_tcid;......
  • linux部署本地测试服务器,部署showdoc,并挂载额外硬盘用于windows共享文件
    过程中坑还是挺多的,在这里做个记录,方便他人也方便自己一、安装linux系统下载镜像使用rufus制作启动盘(linux系统不能使用大白菜等软件)更改网络配置(ifcfg-ens33是网卡名,看个人主机配置而定)vi/etc/sysconfig/network-scripts/ifcfg-ens33将ONBOOT="no"改为ONBOOT=“yes......
  • Mysql官网下载Windows、Linux各个版本
    下载软件官网地址:https://www.mysql.com/百度网盘分享的文件:Mysql链接:https://pan.baidu.com/s/1nT3oI-hXiQvZqdhi2Wv17g 提取码:8l4r 百度网盘只提供了Windows版本的,其他版本可以官网下载进入官网后,点击-看下图(说一万句不如一张图来得实在)往下滑屏幕,在点击在点击......
  • 科普文:软件架构Linux系列之【从硬件角度了解固态盘SSD】
    概叙科普文:软件架构Linux系列之【并发问题的根源:CPU缓存模型详解】-CSDN博客科普文:软件架构Linux系列之【从硬件角度了解内存DRAM和DDR5】-CSDN博客科普文:软件架构Linux系列之【读懂Linux内存管理:mmap(Memory-MappedFile)内存映射文件】-CSDN博客科普文:软件架构Linux系列之......
  • 【Linux内核设计思想】三、Linux内核的启动过程
    欢迎关注博主Mindtechnist或加入【智能科技社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关注公粽号《机器和智能》回复关键词“python项目实战......
  • Linux 服务器开启秘钥登陆方式,现在root直接登陆
    1.重新加载sshd服务,使其配置更改生效本地制作公钥与私钥,将公钥上传到/root/.ssh/authorized_keys文件,如果文件夹和文件没有就创建出来vi/root/.ssh/authorized_keys保存就可以只能用私钥登陆服务器了,不需要使用root账号密码,而且私钥也没有密码2配置sshd服务支持密钥认证......