【计算机基础】操作系统学习笔记

这篇博客详细介绍了操作系统的基础知识,包括进程、内存、文件、磁盘和IO设备的管理。讨论了并发与并行的区别,系统调用与库函数的对比,并深入解析了进程的结构、状态转换和通信方式。此外,还探讨了内存管理的各种策略,如连续分配、分页和分段,以及虚拟内存的工作原理。最后,提到了文件的逻辑和物理结构以及磁盘IO设备。
摘要由CSDN通过智能技术生成

操作系统学习笔记

基础知识

  • 操作系统提供:文件管理存储器管理(将程序放在内存哪里),CPU处理(处理进程),设备管理
  • 接口:命令借口程序接口GUI从而方便用户使用;命令接口一般是交互式(如指令等)或者批处理(如windows下.bat)
    在这里插入图片描述
  • 操作系统特征:并发、共享、虚拟、异步,前两个是基础
    并发vs并行
    并发:宏观同时,微观交替
    并行:微观同时
    异步:多个程序可以并发执行,但资源有限,进程执行是走走停停,依赖于并发

在这里插入图片描述

  • 操作系统运行机制:两种指令(特权指令,非特权指令)、两种处理器状态(核心态、用户态)、两种程序(内核程序、应用程序)
  • 操作系统内核:时钟管理、中断处理、原语(特殊程序,运行不可中断)、对系统资源的管理(进程管理、存储器管理、设备管理)
  • 操作系统体系结构:大内核(高性能但代码庞大难以维护)、微内核(结构清晰但需频繁在用户态和核心态切换)
  • 中断:发生中断就意味着需要操作系统开展管理工作,实现多道程序并发执行,当中断发生时,CPU立即进入核心态(用户态和核心态的转换就是通过中断,改变程序状态字(PSW))
  • 中断分为内中断(信号来源是CPU内部如系统调用、缺页)和外中断(信号来源是CPU外部)
  • 系统调用与库函数的区别:
    在这里插入图片描述
    在这里插入图片描述
  • 系统调用的背后:
    传递系统调用参数 — 执行int x(陷入trap指令)(系统调用发生在用户态)— 执行系统调用相应服务程序(系统调用的处理在核心态)— 返回用户程序
    陷入指令让用户态切换到核心态,是唯一一个可以在用户态执行的指令

进程

  • 系统会为每个执行的程序配置一个数据结构进程控制器PCB,用来记录各种信息比如代码存放位置

  • 进程实体由程序段数据段PCB组成,PCB主要存放的一些管理的数据(进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息)

  • 进程的特征:动态性(基本)、并发性、独立性(进程是系统进行资源分配、调度的独立单位)、异步性(运行结果的不确定性)、结构性

  • 进程的组织形式:链接方式(按进程状态将PCB分为多个队列)、索引方式(按状态建立几张索引表,各表项指向PCB)

  • 进程状态的转换:
    在这里插入图片描述

  • 进程控制(实现状态的转换,用原语实现,创建、终止、阻塞、唤醒、切换)

  • 进程通信分为共享存储消息传递管道通信

  • 共享存储分为基于数据结构的共享(限制多、低级)和基于存储区的共享(高级、速度更快,数据形式、存放位置都由进程控制,而不是操作系统)

  • 管道通信:用于连接读写进程的一个共享文件,又名pipe文件(内存中开辟一个固定大小的缓冲区)。管道只能采用半双工通信,某一时间段内只能实现单向传输。如果没写满就不允许读。读进程最多只能有一个。

  • 消息传递:传递结构化(信息头/体)的消息,系统提供发送/接收原语。两种方式:直接通信、信箱通信

  • 进程是资源分配的基本单位,而线程是cpu调度的基本单位;操作系统只能看得见内核级线程(才是cpu分配的单位)

  • 多线程模型:多对一(一个线程阻塞会导致其他线程阻塞)、一对一(进程管理开销大)、多对多

  • cpu调度
    在这里插入图片描述

  • 临界资源:一个时间段内只允许一个进程使用的资源

  • 临界区:访问临界资源的那段代码,可以调度

  • 内核程序临界区:一般是用来访问某种内核数据结构的,比如进程的就绪队列,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值