Linux学习 IO进程与线程: day4

【复习】
库:可执行代码的二进制形式
    静态库:编译时
    动态库(共享库):运行时
        便于复用
进程:
  和程序的区别:
  三段:数据段、正文段、堆栈段
  分类:交互进程、批处理、守护进程
  状态:运行态R、等待态、暂停态T、死亡态x、僵尸态Z
  命令:ps -aux/-ef、top、kill、bg\fg
  函数:fork、wait/waitpid、exit/_exit、execvpe
  守护进程:1.fork 2.setsid 3.chdir 4.umask 5.close
昨天作业:2. 通过父子进程完成文件io对文件的拷贝cp,父进程从文件开始
到文件的一半开始拷贝,子进程从文件的一半到文件末尾。
    fd_src = open源文件
    fd_dest = open目的文件
    size = lseek();
    size=size/2;
    pid = fork();
    if(pid == 0)
    {
        lseek(fd_src, size);
        lseek(fd_dest, size);
        while(1)
        {
            read(fd_src);
            write(fd_dest);
        }
    }else{
        lseek(fd_src, size);
        lseek(fd_dest, size);
        while(1)
        {
            read(,,5);
            write();
        }
    }
    close();
 
【1】线程
    1.概念:线程指的是共享相同地址空间的多个任务
    2.特点:
     1)由于进程的地址空间是私有的,因此在进程间上下文切换时,
        系统开销比较大
     2)为了提高系统的性能,许多操作系统规范里引入了轻量级进程
        的概念,也被称为线程
     3)在同一个进程中创建的线程共享该进程的地址空间
     4)Linux里同样用task_struct来描述一个线程。线程和进程都参
     与统一的调度
    3.优点:
     1)使用多线程的好处大大提高了任务切换的效率
     2)多线程通信简单,可以通过全局变量
    4.线程和进程的区别:
     1)进程间相互独立,而同一个进程内的线程间共享进程内所有的
        资
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值