PCB(Process Control Block,进程控制块)和FCB(File Control Block,文件控制块)
PCB(进程控制块)
-
概念:
PCB是操作系统中用于描述和控制进程的数据结构,它包含了操作系统在调度、资源分配、中断处理、性能监控和分析等过程中所需的关于进程的全部信息。PCB使得在多道程序环境下不能独立运行的程序(含数据)能够成为一个能独立运行的基本单位,即进程。
-
包含的内容:
- 进程标识信息:用于唯一标识一个进程,包括进程ID(PID)、父进程标识、子进程标识等。
- 处理器状态信息:包括CPU在运行时所需的各种信息,如寄存器的内容、程序计数器(PC)的值、指令寄存器(IR)的值等。当CPU被中断时,这些信息会从寄存器保存到PCB中,以便进程重新执行时能从断点继续执行。
- 进程控制信息:包括进程的当前状态(如就绪、运行、阻塞等)、进程优先级、进程的程序和数据所在外存的首地址、进程所需的全部资源及已分配到该进程的资源清单等。此外,还包括实现进程同步和进程通信的必须机制,如消息队列指针、信号量等。
FCB(文件控制块)
-
概念:
FCB是操作系统中用于存放控制文件所需的各种信息的数据结构。它是文件存在的标志,每个文件都有一个唯一的FCB与之对应。FCB在文件系统中扮演着重要角色,用于管理和控制文件的访问、修改和删除等操作。
-
包含的内容:
- 文件的基本信息:如文件名、文件类型、文件大小、物理地址、逻辑结构等。
- 存取控制信息:包括文件的访问权限(如可读/可写、禁止访问的用户名单等)。
- 使用信息:如文件的建立时间、修改时间、访问次数等。
- 其他信息:如文件的共享计数器(用于记录有多少个地方在共享该文件)、文件的索引表项等。