![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
再来一炖
这个作者很懒,什么都没留下…
展开
-
线程的概念以及为什么要引入线程
线程的概念以及为什么要引入线程文章目录线程的概念以及为什么要引入线程1.线程2.为什么要引入线程1.线程线程是轻量级的进程,在一个进程内部可以存在一个或多个线程,进程与进程之间是不能共享内存的,进程之间的消息通信不方便,但是一个进程内部的线程之间是共享这个进程的内存空间的,线程之间通信很方便。2.为什么要引入线程如以上讲的,线程之间共享内存。比如,一个文字输入软件,其内部可以有三个线程,一个用来响应鼠标、键盘的交互线程,一个用来运算,另一个用来备份。因为进程之间不共享内存,所以不能用多个进程来实现原创 2021-10-04 18:35:05 · 5973 阅读 · 0 评论 -
简单的shell原理以及实现
简单的shell原理以及实现文章目录简单的shell原理以及实现shell原理简单的shell实现shell原理首先在用户层面,bash进程会调用fork()系统调用创建一个新的进程,然后新的进程调用execve()系统调用执行ELF文件,原先的bash进程继续返回等待刚才启动的新进程结束,然后继续等待用户输入命令。execve()系统调用被定义在unistd.h,它的原型如下int execve(const char *filename, char *const argv[], char *cons原创 2021-09-29 09:40:29 · 502 阅读 · 0 评论 -
操作系统的一点零碎知识
操作系统的一点零碎知识文章目录操作系统的一点零碎知识PSW: 程序状态字寄存器,用来保存CPU的优先级,CPU的模式(用户态还是内核态),条件码位以及一些其它控制信息。用户程序在用户态下运行,用户态下有关I/O、硬件和内存保护的指令都是被禁止的,当然,将PSW中的CPU模式设置为内核态也是被禁止的。用户态想要获得这些服务,必须使用系统调用陷入内核以调用操作系统,TRAP指令就是把用户态切换到内核态,并启用操作系统。程序的异常,有些事硬件引起的,异常情况下,操作系统都要获得控制权,操作系统决定异常如原创 2021-09-28 12:28:52 · 80 阅读 · 0 评论 -
上下文切换
进程在系统中是并发的运行,cpu在进程中来回的切换,操作系统实现这种交错执行的机制就是上下文切换。操作系统保持跟踪进程运行所需的所有状态信息,这种状态就是上下文,包括许多信息,比如PC和寄存器文件的当前值,以及主存的内容。在任意时刻,单处理器的操作系统都只能执行一个进程的代码。当操作系统决定要把控制权从当前进程转移到新进程时,就会进行上下文的切换。...原创 2021-08-18 20:40:48 · 59 阅读 · 0 评论