操作系统
文章平均质量分 62
可爱的小小小狼
精读各种经典书籍,喜欢总结读书笔记。
展开
-
重定位,进程的创建,线程相关
使用fork,创建的子进程是父进程副本吗,继承当前数据,代码段,pc,文件描述符等,但是堆栈是各自的,两个进程之后独立执行。fork子进程中返回的是0,父进程返回进程的PID。进程的重定位指将程序加载到内存中不同的位置执行,在进程换出换入过程中将会发生。通过更新程序中使用的相对地址。申请PCB——初始化PCB——分配资源(从父进程继承或者共享)——加入就绪队列——返回PCB。操作系统实际上调度的是进程,而线程调度是由进程内的线程调度器负责。一个指令周期包括:取指令——分析指令——取地址——运算——放回。原创 2024-01-12 00:20:45 · 386 阅读 · 0 评论 -
计算机通过BIOS将操作系统加载到内存中
BIOS存在在disk的第一块,开机将会自动将其加载到内存执行。原创 2024-01-11 21:35:21 · 393 阅读 · 0 评论 -
计算机的中断
在cpu不干预的情况下,控制IO设备与系统主存之间的直接数据传输,只有在数据放到内存中,才会向cpu发送请求。OS也是特殊的软件,可信任软件,可以操作硬件。DMA是双向控制的,内存和IO设备之间。有不同的特权级别,操作系统可以控制硬件。发出中断向量:中断服务程序的入口地址。应用——>OS——>外设。原创 2024-01-11 21:31:19 · 302 阅读 · 0 评论 -
计算机系统总线
总线:连接计算机各个设备的公共信息。数据总线,地址总线,控制总线并行总线,串行总线单总线结构,双总线结构,三总线结构。原创 2024-01-11 18:50:41 · 326 阅读 · 0 评论 -
操作系统——文件系统
挂载的过程实际上就是将存储介质(通常是卷、分区或网络存储等)上的文件系统与文件系统层次结构中的特定位置(挂载点)建立关联。每个分区被操作系统视为独立的逻辑磁盘,它们可以有不同的文件系统、格式以及分配的存储空间。为了开始运行计算机,比如开机或者重启,必须有一个加载程序来初始化系统,从cpu寄存器到设备控制器和内存,接着启动操作系统。建立操作系统的逻辑地址和物理介质的物理地址之间的联系。可执行文件:exe,com,可运行的机器语言程序。进程文件打开表,进程打开的文件,指向系统表。源代码:java,c,未编译。原创 2024-01-01 17:27:37 · 383 阅读 · 0 评论 -
操作系统(6)——同步
同步的唯一问题就是共享变量的竞态,我们使用锁来保护操作共享变量的代码段,从而保证操作共享变量时候不会被中断。锁的实现的硬件基础就是cas和tas,所有锁(信号量,互斥锁)都是通过cas和tas实现的。一个进程在它指令流上的任意一点都会可能会被中断,并且转而执行其他进程。临界区:多个线程访问的数据结构的代码区域。赋值操作,需要将值取到寄存器中,然后修改,再放回。被打断会有问题。所以在临界区,不同进程的转换,因为非原子操作的中断转而执行其他进程,会导致竞争冲突。原创 2023-11-25 10:05:07 · 372 阅读 · 0 评论 -
操作系统(5)——进程调度
抢占就是,当一个优先级高的进程进入就绪队列(队列发生改变),就会抢走cpu,非抢占会将其加入队列头。进程运行在一个cpu上,会将数据打入cpu的缓存,如果更换cpu会造成损失,这个就是cpu的亲和性。内部优先级是操作系统根据进程的内存,时限,io执行时间和cpu执行时间来分配的。是一种操作系统的进程调度策略,其中操作系统拥有中断进程,切换为其他进程的权力。有不同的调度准则,通过cpu使用率,吞吐量和进程的等待时间,响应时间来衡量。每个队列执行的算法不同,根据前台进程,后台进程,系统进程,交互进程。原创 2023-11-25 09:49:51 · 982 阅读 · 0 评论 -
操作系统——进程
进程的创建(内存的分配,pcb的实现)都是由操作系统来实现的,我们可以使用操作系统的函数来创建,但是更多是使用已经包装好的方便的库来实现,比如Linux的pthread(遵守POSIX)。程序不是进程,程序是存在磁盘上包含一系列指令的文件(通常被称为可执行文件),进程是活动的实体(正在运行在内存和cpu上的程序就是进程)。进程状态,进程编号,PC,CPU寄存器,内存管理信息,CPU调度(优先级,队列。对于Linux进程init(pid为1),是进程树的根节点,所有的进程都是基于其创建的子进程。原创 2023-11-24 20:22:46 · 762 阅读 · 1 评论 -
操作系统——虚拟内存篇
在逻辑内存和物理内存之间有一个页表,逻辑内存是0-7页,页表就有0-7项,其内容对应着物理内存中的地址,并且每项还有一个有效-无效位,无效代表物理内存中还没有加入需要的页(也就是,页还在磁盘中)。使用写时复制技术,那么父进程和子进程共用相同的物理内存,这些页被标记为写时复制,意味着任何一个进程写入共享页面,那么就创建共享页面的副本。主要研究内存和磁盘通过页为单位换出换入,当使用页在磁盘中时,应该换入几个,内存满了以后,应该换出哪个页。将最近的过去作为将来的近似,从而置换最长时间没使用的页。原创 2023-11-24 13:55:04 · 908 阅读 · 1 评论 -
操作系统——内存管理篇
内存是计算机的核心,由一个很大的字节数组组成,每个字节都有各自的地址。CPU根据PC值从内存中提取指令。原创 2023-11-24 10:52:49 · 336 阅读 · 1 评论