OS入门--

进程

思想:并发——多道互不干扰的程序,通过PC(program counter)切换交替执行,提高cpu利用率

  1. 进程概念:

    问题:只是切换,无法记录切出时原程序的状态

    解决:引入PCB(Program Control Block)组织管理多个进程

    结果:产生运行的程序 进程

    优点:cpu作为管理者,不是低级的打工人了

  2. 多进程图像:

    原理:一个命令启动一个进程,返回shell等待启动其他进程

    形象展示:任务管理器

    多进程组织:PCB+状态(就绪,运行,阻塞)+队列(等待,就绪)

    交替方式:队列操作+调度+切换

    schedule(){
    pNew = getNext(readyQueue);//调度
    switch_to(pCur,pNew);//物理cpu->pCur,pNew->物理cpu
    }

    问题:无法保证进程不侵犯其他进程的内存,实现地址空间的分离

    解决:使用映射表(每个进程都是用虚拟地址,都可从0开始+d;但物理地址是区别的,为x+d)

    问题:对于共享数据(如:共享缓冲区),可能会同时修改造成数据混乱

    解决:进程同步(合理的推进顺序)

    正在执行的进程上锁,直到完全结束再开锁

    等待执行的进程要检查锁,直到开锁后才能执行

  3. 用户级线程

    问题:资源(内存)移动易产生错误

    解决:线程将资源和指令序列分离,只切换指令序列,不需要切映射表

    问题:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部