操作系统导论_第四章_抽象:进程
admin
2024-03-15 18:06:46

文章目录

    • 4.1 抽象:进程概念
    • 4.2 进程API
    • 4.3 进程创建:更多细节
    • 4.4 进程状态

  • 进程就是运行中的程序。程序本身是没有生命周期的,它只是存在磁盘上面的一些指令。是操作系统让这些字节运行起来,让程序发挥作用。
  • 虚拟化:通常让一个进程只运行一个时间片,然后切换到其他进程,操作系统提供了存在多个CPU的假象。
  • 上下文切换:它让操作系统能够停止运行一个程序,并开始在给定的CPU上运行另一个程序。

4.1 抽象:进程概念

  • 操作系统为正在运行的程序提供的抽象,就是所谓的进程。
  • 进程的机器状态:程序在运行时可以读取或更新的内容。进程可以访问的内存是该进程的一部分。程序计数器告诉程序即将执行的指令。栈指针和相关的帧指针用于管理函数参数栈、局部变量和返回地址。

4.2 进程API

  • 创建create:操作系统必须包含一些创建新进程的方法
  • 销毁destroy:强制销毁进程的接口
  • 等待wait、其他控制、状态status。

4.3 进程创建:更多细节

  • 操作系统运行程序必须做的第一件事是将代码和所有静态数据加载到内存中,加载到进程的地址空间中。
  • 操作系统惰性执行该过程:仅在程序执行期间需要加载的代码或数据分片,才会加载。
  • 之后在运行此进程之前必须为程序的运行时栈分配一些内存。操作系统分配这些内存,并提供给进程,操作系统也可能会用参数初始化栈,具体来说,它会将参数填入main()函数,即argc和argv[]数组
  • 操作系统有可能为程序的堆分配一些内存、操作系统还将执行一些其他的初始化任务,特别是与输入/输出相关的任务。
  • 通过将代码和静态数据加载到内存中,通过创建和初始化栈以及执行与I/O设置相关的其他工作,OS现在为程序执行搭好了舞台。最后一项任务:启动程序,在入口处运行,即main()。通过跳转到main()例程,OS将CPU的控制权转移到新创建的进程中,从而程序开始执行。

4.4 进程状态

  • 运行:在运行状态下,进程正在处理器上运行,这意味着它正在执行指令
  • 就绪:在就绪状态下,进程已准备好运行,但由于某种原因,操作系统选择不在此处运行。
  • 阻塞:一个进程执行了某种操作,直到发生其他事件时才会准备运行。

相关内容

热门资讯

十年来长江经济带优良水质比例从... (来源:荔枝新闻)转自:荔枝新闻荔枝新闻中心北京工作部记者/刘辛1月5日,国务院新闻办公室举行新闻发...
安徽一医院因过度诊疗被罚超98... 转自:北京日报客户端信用中国(安徽)网站显示,近日,枞阳县中医院因违反诊疗规范过度诊疗,被枞阳县医疗...
中国国家税务总局更新发布90份... 中新社北京1月5日电 (记者 赵建华)中国国家税务总局5日更新发布90份《国别(地区)投资税收指南》...
如果王楚钦是国乒一哥,那么樊振... 马龙一句“有王楚钦在我们都很心定”的认可还在回响,樊振东在德国杯夺冠并捧起MVP奖杯的照片已经传遍全...
原创 美... 当特朗普在社交平台上敲下已抓获马杜罗这一行字时,曾自诩为自由捍卫者的美国,已彻底揭开了道德的面具,露...