操作系统 Operating System
文章平均质量分 91
操作系统入门
马达加斯加D
这个作者很懒,什么都没留下…
展开
-
操作系统 --- 如何启动 Boot
操作系统如何启动 -- 概述打开电源boot扇区: bootsect.ssetup扇区: setup.ssystem扇区: system.s打开电源内存中寻址0xFFFF0, 运行这里的代码检查RAM, 键盘,显示器等硬件默认 CS = 0xFFFF, IP = 0x0000, CS左移四位加IP等于 0xFFFF0将硬盘中的0磁道0扇区加载到内存中的0x7c00处0磁道0扇区储存着操作系统的引导扇区 (boot扇区),从这里开始启动操作系统设置 cs=0x07c0, ip = 0x0000原创 2021-03-18 20:17:37 · 663 阅读 · 0 评论 -
操作系统 --- shell和system call
操作系统的系统调用 --- System Call命令行与shell操作系统的系统调用 (System Call)系统调用的实现内核态和用户态 (Kernel mode and User mode)如何从用户态进入内核态使用Interrupt如何实现Interrupt的调用Interrupt 0x80是什么System_call.s命令行与shell命令是一段程序, 比如下图中 ./output “hello”, 执行了printf函数系统通过shell解释器找到输入命令相对应的程序shell也原创 2021-03-22 20:39:27 · 771 阅读 · 0 评论 -
操作系统 --- 进程通信 IPC Inter Process Communication
操作系统 --- 进程通信 IPC Inter Process Communication什么是进程通信进程通信的方法pipelinemessage queueshare memorysemaphoresocket什么是进程通信进程通信的方法pipelinemessage queueshare memorysemaphoresocket原创 2021-10-13 14:22:48 · 157 阅读 · 0 评论 -
操作系统 ---多进程 Multiprocessing
操作系统 --- 进程管理 Process Management什么是进程 (Process)多进程 Multi process进程的状态PCB --- Process Control Block上下文切换 ---- Context SwitchQueuesReady QueueDevice Queue什么是进程 (Process)进程是在执行过程中的程序, 储存在内存(memory) 中一个在执行过程中的程序需要program code text (程序代码)program count原创 2021-09-30 13:35:09 · 1660 阅读 · 0 评论 -
操作系统 --- 多线程 Multithreading
操作系统 -- 多线程 Multi-Threading什么是线程和多线程线程和进程的区别多线程的状态用户级线程 -- User Level Threads如何切换用户级线程 -- Yield函数如何创建用户级线程 -- Create函数内核级线程 -- Kernel Level Threads为什么需要内核级线用户级线程和核心级线程的区别用户栈和内核栈如何切换内核级线程如何创建内核级线程用户级线程和内核级线程的对比什么是线程和多线程线程是进程的最小组成单位, 任何一个进程都至少有一个线程多线程原创 2021-03-25 23:40:13 · 1876 阅读 · 3 评论 -
操作系统 --- 进程/线程 同步
操作系统 --- 进程/线程 同步资源竞争 --- race condition临界区 --- critical section解决临界区问题 ---- 实现进程同步进程同步的三个原则互斥(mutual exclusive)有限等待(bounded waiting)前进(progress)进程同步的简单解决方案 --- 锁(lock)Intuitive SolutionSoftware solutionDekker算法Peterson算法Software Solution的优缺点Hardware assis原创 2021-10-16 19:35:49 · 1308 阅读 · 0 评论 -
操作系统 -- CPU的调度策略 CPU Scheduling
操作系统 -- CPU的调度策略 CPU Scheduling调度策略需要满足什么要求不同的任务类型设计一个调度策略简单粗暴的思路 -- First Come, First Serverd优化1: Short Job First优化2: Round Robin如何同时让前台和后台任务满意一个可行的schedule函数使用一个counter代码实现调度策略需要满足什么要求尽快结束任务: 如编译代码, Matlab运算等任务,需要尽快完成用户操作尽快响应: 如word, 浏览器等, 不需要这些软件结束原创 2021-03-27 21:20:45 · 442 阅读 · 0 评论 -
操作系统 --- 内存管理
操作系统 --- 内存管理地址空间 (Address space)物理地址空间 (physical address space)逻辑地址空间 (logical addresss)地址转换 (Address binding)内存分区 (memory partition)Fixed partition分配方式一: multiple queues分配方式二: single queueVariable partitionLinkedList approachBitmap approachBuddy System a原创 2021-11-04 18:33:09 · 1267 阅读 · 0 评论