linux笔记--操作系统

(复习框架,不时更新修改)

#操作系统:计算机系统包含的基本程序集合

    》内核(进程管理,进程调度,进程间通信机制,内存管理,中断异常处理,文件系统,I/0系统,网络部分)
    》其他程序(函数库,shell程序)
操作系统目的:


#进程创建执行:进程执行时,会被装载进虚拟内存,并将相关信息添加到task_struct里
     》内存分布
        *文本段,程序源指令
        *数据段,静态变量
        *堆,动态内存分区区域
        *栈,动态增长与收缩的段,保存本地变量
 
1.进程概念,PCB
2.C内存空间分布规律,进程内存映像和应用程序区别
3.环境变量(概念及常见的)
4.进程状态,僵尸进程,机制因果
    *僵尸进程:子进程在父进程没有调用wait()或waitpid()情况下退出,该子进程为僵尸进程。
              如果父进程还一直不调用wait,该僵尸进程无法回收,只能在父进程推出后被init回收。


5.linux进程优先级
6.how to 创建进程,孤儿进程,进程独立性与竞争性
    *两种创建方法:fork()和execve(假的),创建子进程用fork()系统调用,子进程会得到父进程数据段,栈段,和堆区域部分拷贝,可被子进程修改,文本段为共享,不可修改。
                用exceve创建新进程,销毁所有内存段去创建新内存段,但需要可执行文本或脚本做参数
                两者都是运行进程的子进程。
    *孤儿进程:父进程退出后它的一个或多个还在运行的子进程就是孤儿进程。
 
7.进程环境及常见系统调用
    *进程环境:main函数与进程终止。
              》main函数:当内核使用一个exec函数执行c程序时,会提前调用一个特殊的启动例程,可执行程序将此列程指定为程序起始地址,启动例程从内核中获取命令行参数与环境变量,为main()函数做准备。
              》进程终止:8种,前5种正常终止方式为:1.从main函数调回;2调用exit函数;3.调用-exit或-Exit;4,最后一个进程从启动例程返回;5.最后一个线程调用abort函数;后三种异常终止:6.调用about函数;接受一个信号并终止;最后一个线程对取消请求做出响应。


8.栈帧,C变量局部性因果
    栈帧:堆栈
          》堆栈:C语言程序运行时必须的一个记录调用路径和参数的空间。


9.线程


10.


11.实际用户/有效用户/实际用户组/有效用户组/有效用户组设置/有效用户组设置区别
   实际用户ID和实际用户组ID:登录用户的uid和gid,标识你是谁。
   有效用户ID和有效用户组ID:实际用户ID,启用SUID设置,有效用户ID等于文件所有者的uid。实际用户组ID.启用SGID,有效用户组ID等于文件所有者的gid。与附加组ID决定进程访问权限。
   suid(chmod u+s file)只能应用在可执行文件上,允许任意用户在执行文件时以文件拥有者身份执行
   sgid(chmod g+s file)只能应用在可执行文件上,使任意用户在可执行文件时,将以文件拥有者身份执行。


   


12.文件描述,文件指针


13.进程等待


14.进程程序替换


15.重定向





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值