![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
王道长的编程之路
学不死那就朝死里学
展开
-
计算机基础知识
文章目录一、信息的表示和处理1.1 计算机如何表示整数1.2 计算机如何表示浮点数1.3 计算机如何表示负数1.4 数值的转换、移位二、从汇编层面理解程序的执行2.1 冯诺依曼计算机体系结构2.2 程序在底层是怎么运转的2.3 栈帧2.4 安全相关的概念三、进程和线程3.1 需要掌握进程的地址空间,代码在哪里,堆在哪里,栈在哪里。3.2 进程和线程之间的关系3.3 进程切换和线程切换之间的区别和联...原创 2019-05-09 21:50:05 · 457 阅读 · 0 评论 -
一、操作系统的概念功能
一、计算机硬件系统概述计算机系统自下而上可粗分为四个部分:硬件、操作系统、应用程序和用户(与计算机组成原理的分层不同)。操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便地接口和环境的程序集合。它是计算机系统中最基本的系统软件。1.1、计算机硬件系统结构1.1.1 大、中、小型计算机的硬件组织。这类计算机以存储器为中心,...原创 2019-05-30 20:06:49 · 4465 阅读 · 0 评论 -
二、操作系统之进程与线程管理
一、进程与线程1.1 进程概念与特征1.1.1 进程的概念程序:就是一个指令序列(早起的计算机只支持单道程序)。引入多道程序技术之后,为了方便操作系统的管理,完成各程序的并发执行,引入了进程、进程实体的概念。程序段、数据段、PCB(Process Control Block)三部分组成了进程实体(进程映象)。一般情况下,我们把进程实体就简称为进程,例如,所谓的创建进程,实质是创建进程实体...原创 2019-05-30 22:36:48 · 2475 阅读 · 1 评论 -
操作系统-进程概念
文章目录一、定义(Process)二、PCB 进程控制块(Process Control Block)1. 又称进程描述符,进程属性,是操作系统用于管理控制进程的一个专门的数据结构,记录进程的各种属性。2. PCB是系统感知进程存在的唯一标志,进程与PCB是一一对应的。3. 进程表:所有进程的PCB集合三、PCB包含哪些信息四、进程状态及状态转换1. 进程状态2. 操作系统通常将进程状态分为多种模...原创 2019-05-06 16:34:55 · 2715 阅读 · 0 评论 -
操作系统核心原理-4.线程原理(下):死锁基础原理
文章目录前言一、死锁初窥1、为何会发生死锁?2、死锁的定义与必要条件二、应对死锁1、哲学家就餐问题2、死锁的应对方法3、银行家算法4、解决:哲学家就餐问题前言我们都见过交通阻塞,一大堆汽车因为争夺行路权,互不相让而造成阻塞,又或者因为车辆发生故障抛锚或两辆车相撞而造成道路阻塞。在这种情况下,所有的车都停下来,谁也无法前行,这就是死锁。本篇就来了解一下什么是死锁,如何应对死锁。一、死锁初窥1...原创 2019-05-06 18:06:28 · 1020 阅读 · 0 评论 -
操作系统核心原理-4.线程原理(上):线程基础与线程同步
文章目录前言一、线程基础1. 线程概念2 线程管理3 线程模型4 多线程的关系二、线程同步1 同步的原因和目的2 线程同步必知概念3 线程同步方式:前言我们都知道,进程是运转中的程序,是为了在CPU上实现多道编程而发明的一个概念。但是进程在一个时间只能干一件事情,如果想要同时干两件或者多件事情,例如同时看两场电影,我们自然会想到传说中的分身术,就像孙悟空那样可以变出多个真身。虽然我们在现实中...原创 2019-05-06 17:31:31 · 3106 阅读 · 0 评论 -
操作系统-内存管理
文章目录一、内存管理1.1 内存的基础知识1.1.1 什么是内存,有何作用1.1.2 进程运行的原理-指令1.1.3 逻辑地址VS物理地址1.1.4 进程运行的基本原理(从写程序到程序运行)1.1.5 装入内存的三种方式1.1.5 链接的三种方式1.1.6 总结1.2 内存管理的概念1.2.1 内存空间的分配与回收1.2.2 内存空间的扩展1.2.3 地址转换1.2.4 内存保护1.2.5 总结1...原创 2019-06-06 09:20:53 · 53894 阅读 · 18 评论 -
内存五大模型与elf文件
bss段**bss段(bss segment)**用于存放程序中未经初始化的全局变量和静态局部变量。在目标文件中,这个段并不占据实际空间,它仅仅只是一个占位符。bss段属于静态内存分配。data段**数据段(data segment)**通常是指用来存放程序中已初始化的全局变量和静态局部变量的一块内存区域,读写属性 。数据段属于静态内存分配。text段**代码段(code segme...原创 2019-05-28 01:06:02 · 1391 阅读 · 0 评论 -
I/O模型之Web应用服务
文章目录前言一、Socket通信模型:二、不同角度的I/O模型1. 阻塞与非阻塞(调用者角度)2. 异步与同步(被调用者角度)3. 总结同步和异步的区别三、复用型IO调用四、Linux中五种I/O模型五、Http中的I/O模型1. profork:多进程模型。2. worker:多进程模型。3. event模型:事件驱动模型。六、Nginx中的I/O模型1. event模型:2. select模型...原创 2019-05-06 19:27:53 · 338 阅读 · 0 评论 -
一句话撸完重量级锁、自旋锁、轻量级锁、偏向锁、悲观、乐观锁等各种锁
重量级锁?自旋锁?自适应自旋锁?轻量级锁?偏向锁?悲观锁?乐观锁?执行一个方法咋这么辛苦,到处都是锁。今天这篇文章,给大家普及下这些锁究竟是啥,他们的由来,他们之间有啥关系,有啥区别。重量级锁如果你学过多线程,那么你肯定知道锁这个东西,至于为什么需要锁,我就不给你普及了,就当做你是已经懂的了。我们知道,我们要进入一个同步、线程安全的方法时,是需要先获得这个方法的锁的,退出这个方法时,则会...转载 2019-06-05 22:44:15 · 866 阅读 · 0 评论