- 博客(238)
- 收藏
- 关注
原创 计算机组原,系统总线,总线概念,结构,分类,特性指标,举例
一、什么是总线1、总线是连接各个部件的信息传输线,是各个部件共享的传输介质二、总线上信息的传送1、串行传输,单条线路一个个比特传输,稳定性强2、并行传输,多条线路同时传输。三、总线结构1、单总线(系统总线)1.1、这里的主存就是内存,对应的,辅存或外存,就是如硬盘,U盘之类的外部存储器1.2、任意时刻只能有一对部件在总线上传递信息,如果IO设备接收了消息并将其传递至总线,就会中断当前在使用总线的其他部件,比如中断正在和内存进行运算的CPU1.3、总线性能将成为整体性能的瓶颈2、面向CPU的
2022-08-26 19:35:30 2571
原创 计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程
一、冯诺依曼计算机1、由五大部件组成:1.1、输入设备,将人的信息转换为机器可以识别的形式1.2、输出设备,将机器的信息转换成人可以识别的形式1.3、存储器,存放数据和程序1.4、控制器,指挥控制程序的有序运行,是冯诺依曼体系的核心与瓶颈1.5、运算器,完成算术运算和逻辑运算2、指令和数据以同等地位存于存储器,可按地址寻访3、指令和数据用二进制表示4、指令由操作码和地址码组成5、程序存储在存储器中6、以运算器作为核心二、现代计算机硬件框图1、冯诺依曼体系在结构上进行优化,提升了层次性
2022-08-26 19:28:24 1433
原创 嵌入式系统,ARM微处理器特点,ARM体系结构,特征、状态、操作模式等,中断分类,JTAG调试接口
二、ARM处理器的特点1、ARM处理器的三大特点1.1、小体积,低功耗,成本低,高性能1.2、16位/32位双指令集1.3、全球众多的合作伙伴(市场大,环境生态好)****2、当前ARM体系结构的扩充包括2.1、thumb:16位指令集,用以改善代码密度2.2、DSP:用于DSP应用的算数运算指令集2.3、jazeller:允许直接执行Java代码的扩充****3、ARM处理器系列提供的解决方案包括:(ARM公司并不造处理器,而是将解决方案的知识产权卖给半导体公司让他们造)3.1、在
2022-08-11 09:10:45 1800
原创 嵌入式系统,典型嵌入式系统基本组成,微处理器,嵌入式微处理器,嵌入式软硬件裁减原则,嵌入式实时操作系统
一、微处理器的基本知识二、嵌入式微处理器的相关知识三、嵌入式软硬件裁减原则四、嵌入式实时操作系统的相关基本知识一、硬件层二、软件层一、微处理器两大体系结构,分别是冯诺依曼体系结构和哈佛体系结构1、冯诺依曼体系的特点:数据和指令都存储在存储器中,被大多数计算机采用,主流的ARM7就是冯诺依曼体系2、哈佛体系结构:将指令和数据分离,使其并发性更好,性能高一些,提供了较大的数存储器带宽,适合于数字信号处理,大多数DSP都是哈佛结构,ARM也是哈佛结构二、两种指令集CISC和RISC1、CISC:
2022-08-09 16:58:43 1420
原创 嵌入式系统,嵌入式系统定义和使用,嵌入式系统和桌面通用系统的区别,嵌入式系统结构组成,嵌入式软件组成
一、嵌入式系统1、定义:用于控制、监视或者辅助操作机器和设备的装置,嵌入式系统的前提是有一个需要被控制的机器。2、含义:嵌入式系统就是将计算机的硬件或软件嵌入其他机电设备或应用系统中,构成新的系统,即嵌入式系统3、构造原则:嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统,用于实现对其他设备的控制监视或管理功能,让机器变得智能。二、嵌入式系统使用场合1、监测控制:数控机床,单电机,仪表2、小型化,微型化期间,设备:通
2022-08-09 16:51:46 3486
原创 操作系统原理,IO控制方式,轮询流程,中断驱动流程,设备IO部件演化;IO的软件组成与层次,设备独立性;IO相关技术,缓冲技术
一、IO控制方式1、可编程IO(轮询/查询):由CPU代表进程给设备IO模块发送IO命令,进程进入忙等待,直到操作完成才继续执行。2、中断驱动IO,减少了设备驱动程序不断询问控制器状态寄存器的开销,当IO操作结束后,有设备控制器主动通知设备驱动程序。3、DMA,direct memory access二、轮询的流程1、应用进程上CPU,并通过CPU向设备驱动程序发送IO命令,如读或写2、设备驱动程序读取设备控制器的状态寄存器3、设备控制器上的状态寄存器显示设备没有问题可进行该操作后,设备驱动程
2022-08-04 12:09:28 1854
原创 操作系统原理,IO管理概述:IO系统的两种结构,特点,设备分类,,目标和任务;,IO硬件组成:设备控制器作用,IO端口地址,IO独立编址,内存映像编址
一、IO系统的两种结构1、物理结构2、软件结构二、IO的特点1、IO性能经常成为系统性能的瓶颈2、操作系统庞大复杂的原因之一资源多、杂,并发,均来自IO2.1、速度差异大2.2、应用不一2.3、控制接口的复杂性2.4、传送单位2.5、数据表示2.6、错误条件3、与其它功能密切相关,特别是文件系统三、设备分类按照存储单位划分,可分为1、块设备以数据块为单位存储、传输信息,传输速率较高,可寻址(随机读写)2、字符设备。...
2022-08-02 10:31:34 1724
原创 操作系统原理,文件系统的实现,磁盘上和内存中的内容布局,文件目录的检索过程,目录项分解法
实现文件系统需要考虑磁盘上和内存中的内容布局,文件目录的检索过程一、磁盘上需要解决的问题:1、如何启动操作系统2、磁盘如何管理,以及获取磁盘的有关信息3、目录文件在磁盘上如何存放,普通文件在磁盘上如何存放二、磁盘与文件系统的相关术语1、磁盘分区partition:把一个物理磁盘的存储空间划分为几个相互独立的部分,称为分区2、文件卷volume:磁盘上的逻辑分区,由一个或多个物理快(簇)组成2.1、一个文件卷可以由整个磁盘或部分磁盘,或跨越多个磁盘组成2.2、同一个文件卷中使用同一份管理数据对进
2022-08-02 10:11:47 1442
原创 操作系统原理,文件系统的概念与实现,概念,需求,文件分类,逻辑结构,数据结构,文件控制块和文件目录,基本文件操作,多级目录,文件物理结构,Unix的文件多级索引结构
操作系统原理,文件系统的概念与实现,概念,需求,文件分类,逻辑结构,数据结构,文件控制块和文件目录,基本文件操作,多级目录,文件物理结构,Unix的文件多级索引结构一、文件概念:1、文件是对磁盘的抽象2、是一组带有标识(文件名),在逻辑上有完整意义的信息项的序列3、信息项是构成文件内容的基本单位(单个或多个字节),各个信息项之间有顺序关系4、文件内容的意义由文件建立者和使用者决定5、文件有读写指针二、文件系统的设计需求:...
2022-07-31 21:41:06 1824
原创 操作系统原理,物理内存“扩充”技术,内存紧缩,覆盖,交换,虚拟内存思想
当内存空间不足以存放下进程是,需要使用到内存“扩充”技术,但不是真的扩充了内存。一、内存“扩充”技术1、内存紧缩技术:在可变分区型的操作系统中调节进程在内存中的位置,将进程间的外碎片合成为可用的内存空间并利用。2、覆盖技术overlaying2、交换技术swapping4、虚拟内存技术virtual memory二、覆盖技术(早期操作系统)1、应对问题:程序大小超过了物理内存总和2、解决方案:程序的不同部分在内存中共享一块区域并相互覆盖2.1、操作系统按照程序自身的逻...
2022-07-06 20:52:59 3404
原创 操作系统原理,地址重定位;物理内存数据,分配,回收;内存管理,固定分区和可变分区存储,页式段式存储
一、内存地址中多个进程被分割在不同的独立的地址空间中1、程序通常以可执行文件的格式保存在磁盘上,将程序从磁盘装载内存中后才可以运行。2、多道程序设计模型中允许多个程序同时进入内存3、操作系统为了将各个进程隔离开,在内存中为每个进程分配了自己的地址空间,一个进程执行时不能访问另一个进程的地址空间,进程也不能对内存执行不合适的操作,例如:访问不属于自己地址空间的内存地址,比如数组访问越界。二、进程需要的空间1、在进程空间中的地址不是最终的物理地址,可以理解为是逻辑地址或者相对...
2022-07-06 20:47:58 2349
原创 Linux0.11内核源码,进程数据结构task_struct,Linux内核初始化第一个进程,进程创建并初始化,源码解析
一、Linux中的task_struct:进程在内核源码中以数据结构task_struct的形式存在,其中有几个非常常见的属性字段1、__state是进程的当前状态,-1是unrunnable,0是runnable, >0是stopped2、Counter是进程拥有的时间片,当一个时钟中断到来,当前占有CPU的进程时间片会消耗1,进程调度函数schedule会会遍历任务队列选择时间片最大的进程上CPU2.1、参照调度函数源码schedule可知,整体的调度策略是选择最长时间片的进程上CPU,直到进程
2022-06-12 14:41:38 1139 1
原创 Linux0.11内核源码,系统初始化时钟驱动,时钟中断系统时间滴答jiffies推动进程函数的执行和时间片分配,源码解析
一、系统时间:(jiffies 系统滴答)CPU内部有一个RTC,会在上电的时候调用mktime函数算出1970年1月1日0时开始到当前开机时间点所过的秒数,mktime函数位于mktime.c文件中,当main函数执行init_time初始化系统时间时被调用。二、init_time读取硬件时间1、这里的CMOMS_READ函数是从CMOS(RTC)硬件中读取时间的函数,参数0代表读秒,2代表分钟,其余的参照代码都可以得出。2、这里while中将已经读取到的tm_sec和CMOS中的秒位做比较,
2022-06-12 14:12:42 825
原创 Linux0.11内核源码,内核c语言和AT&T汇编语言完成,AT&T汇编语法常见格式
O、Linux内核源码由汇编和c语言组成,Linux平台的汇编语言遵照的是AT&T汇编语法,想要了解Linux内核就必须对AT&T汇编语法有一些了解,但看Linux内核的目的是了解内核的运行机制,对汇编的了解浅尝辄止便可。一、AT&T汇编语法格式(区别于Intel)1、引用寄存器的值引用寄存器要在寄存器号前加%,例如:mov % eax,% ebx (Intel则不需要加%)2、操作数顺序操作数的排列顺序是从源(左)到目的(右),如mov % eax(源),% ebx(目的) (Intel则是反
2022-06-12 13:36:49 615
原创 操作系统原理,使用管程封装操作系统共享资源,hoare管程模型与mesa管程模型
O、进程中信号量机制的不足:程序编写困难、容易出错引入管程,管程也是一种进程间的高级同步机制。一、管程定义:有一个明确定义的操作集合,通过它且只能通过它才能操作某共享数据类型的实例。分析:1、这里管程这个机制维护了共享资源的数据结构和操作过程,等价于c++中将数据结构和函数封装为一体的类2、参考同一进程中的多个线程可以共享数据,往底层看,操作系统和进程的关系就像进程和进程内线程的关系,操作系统的视角中共享资源等价于进程中的全局变量。二、进程和管程的调用关系:进程只能通过管程中的过程(函数)来间接的访
2022-06-01 23:03:46 1839
原创 操作系统原理,经典进程同步机制信号量与PV,P操作不一致引发死锁,消费者生产者信号量模型,读者写者信号量模型
操作系统原理,经典进程同步机制信号量与PV,P操作不一致引发死锁,消费者生产者信号量模型,读者写者信号量模型一、经典的进程同步机制信号量:1、信号量是一个特殊变量,2、用于在进程间传递信息的整数值3、信号量的定义Struct semaphore{Int count;queueType queue;}4、声明信号量:semaphore s;5、对信号量的操作:初始化(非负整数),P,V,PV在不同的地方有不同的称呼,例如down/up,semWait/semSignal,PV 都是原语
2022-05-22 18:42:09 659
原创 操作系统原理,并发环境下进程互斥与同步,软件层实现临界区,lock封装成为原语实现临界区,afteryou思想类似trylock引发活锁,Dekker由系统决定进程,Peterson避免忙等待,硬件层
操作系统原理,并发环境下进程互斥与同步,软件层实现临界区,lock封装成为原语实现临界区,afteryou思想类似trylock引发活锁,Dekker由系统决定进程,Peterson避免忙等待,硬件层O、进程同步互斥机制并发是所有问题产生的基础,也是系统设计的基础。一、并发环境下的进程特点:1、并发的,单个进程的执行是间断性的,进程的相对执行速度不可预测2、资源共享,进程和线程之间同时占用某个资源会引发错误,如多个进程同时使用打印机打印文件,或者同时对一个文件进行写入3、进程执行的结果与其执行的
2022-05-22 18:33:56 370
原创 操作系统原理,Windows线程调度,引发线程调度的事件,Windows线程优先级,Windows时间配额,Windows线程调度策略,Windows优先级提升事件
操作系统原理,Windows线程调度,引发线程调度的事件,Windows线程优先级,Windows时间配额,Windows线程调度策略,Windows优先级提升事件一、Windows线程调度1、调度单位是线程2、采用基于动态优先级的、抢占式调度,结合时间配额的调整3、就绪线程按优先级进入相应队列4、系统总是选择优先级最高的就绪队列运行5、同一优先级的各线程按时间片轮转进行调度6、多CPU系统中运行多个线程并行运行二、Windows中引发线程调度的条件1、线程正常或因错误终止2、新线程创建
2022-05-22 18:25:46 2261
原创 操作系统原理,多级反馈队列调度算法Multilevel feedback,多处理器调度算法考虑的问题,常见操作系统上的调度算法,Windows中IO线程和“饥饿”线程优先级提升
操作系统原理,多级反馈队列调度算法Multilevel feedback,多处理器调度算法考虑的问题,常见操作系统上的调度算法,Windows中IO线程和“饥饿”线程优先级提升一、多级反馈队列调度算法Multilevel feedback1、设置多个就绪队列,第一级队列优先级最高2、给不同就绪队列中的进程分配不同长度的时间片,第一级队列时间片最小,随着队列优先级的降低,时间片增大3、当第一级队列为空的时候,在第二级队列调度,以此类推4、各组队列按照时间片轮转方式进行调度5、当新创建一个进程就绪后
2022-05-22 18:20:00 1538 2
原创 操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对
操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对一、交互式系统中采用的调度算法:1、时间片轮转调度RR,round robin2、最高优先级调度HPF,hignest priority first3、多级反馈队列multiple feedback queue4、最短进程优先shortest process next5、指标:响应时间,公平平衡二、时间片轮转调度算法RR,round Robin1、将CPU时间划分为时间片,挨个切换进程
2022-05-14 17:51:37 2226
原创 操作系统原理,批处理系统中常用的调度算法,先来先服务FCFS,短作业优先SJF,最短剩余时间优先SJF,最高响应比优先HRRN
操作系统原理,批处理系统中常用的调度算法,先来先服务FCFS,短作业优先SJF,最短剩余时间优先SJF,最高响应比优先HRRN一、批处理系统中常用的调度算法:1、先来先服务2、最短作业优先3、最短剩余时间优先4、最高相应比优先,相应比由5、指标:吞吐量,周转时间,CPU利用率,公平平衡二、先来先服务FCFS,first come first server1、按照进程就绪的先后顺序使用CPU2、非抢占式3、优点:公平,实现简单4、缺点:长进程后面的短进程需要等很久,不利于用户体验案例:
2022-05-14 17:47:06 2488
原创 操作系统原理,调度算法设计时考虑的问题,调度算法相关概念,进程优先级和优先数,抢占式与非抢占式,IO密集型与CPU密集型,时间片
操作系统原理,调度算法设计时考虑的问题,调度算法相关概念,进程优先级和优先数,抢占式与非抢占式,IO密集型与CPU密集型,时间片O、调度算法在设计时要考虑的问题:1、进程控制块PCB中需要记录那些与CPU调度有关的信息2、进程优先级以及就绪队列的组织结构3、抢占式调度和非抢占式调度4、IO密集型与CPU密集型进程5、时间片调度算法相关概念一、进程优先级和优先数1、优先级是指进程的优先程序,优先数是进程优先级的数值型标识2、静态优先级在进程创建时指定,运行过程中不改变3、动态优先级标识缓
2022-05-14 17:41:04 1701
原创 操作系统原理,CPU调度,调度面临的场景,要解决的问题,触发调度的事件,进程切换,上下文切换的步骤与开销,调度算法衡量指标
操作系统原理,CPU调度,调度面临的场景,要解决的问题,触发调度的事件,进程切换,上下文切换的步骤与开销,调度算法衡量指标一、CPU调度:1、其任务是控制和协调进程对CPU的竞争,2、按照一定的调度算法从就绪队列中选择一个进程,把CPU的使用权交给被选中的进程3、在没有就绪进程的请开给你下,系统会安排一个系统空闲进程(或叫idle进程)占用cpu二、CPU调度面临的场景:1、n个进程就绪,等待获取CPU运行2、m个CPU,m>=13、调度算法需要决策,给哪一个进程分配哪一个cpu三、
2022-05-14 17:35:01 907
原创 操作系统原理,在进程的基础上,处于性能考虑引入线程,线程的概念,线程的三种实现
操作系统原理,在进程的基础上,处于性能考虑引入线程,线程的概念,线程的三种实现O、在进程的基础上引入线程主要处于应用需要,开销,性能方面的考虑进程本身需要线程实现并发的任务处理以提升进程的总体处理效率,相比进程,线程的创建和释放,上下文切换更快,相互通信不需要通过内核,而是在进程中共享文件和内存。一、进程的两个基本属性:资源拥有者,CPU调度单位随着线程的引入,进程仍然是资源拥有着,但是线程继承了进程的CPU调度单位这一属性。二、线程:进程中的一个运行实体,是CPU的调度单位,有时将线程称为轻量级
2022-05-14 17:29:57 595
原创 操作系统原理,进程分类方式,层次结构,进程与程序的区别,进程的地址空间,进程映像,上下文切换,可再入程序
操作系统原理,进程分类方式,层次结构,进程与程序的区别,进程的地址空间,进程映像,上下文切换,可再入程序一、进程的不同分类方式:1、系统进程和用户基础2、前台进程和后台进程3、CPU密集型进程和IO密集型进程二、进程的层次结构1、unix进程家族树:init为根,父进程结束,子进程会跟着结束2、Windows:各个进程地位相同,无父子进程关系三、进程和程序的区别:1、程序是静态的(可执行文件),进程是动态的,可执行文件的内容通过拷贝到内存上占用CPU运行变成进程。2、进程能准确刻画并发,
2022-05-14 17:18:13 1214
原创 操作系统原理,进程控制,原子操作,进程原语种类,创建,撤销,阻塞等,进程原语在不同操作系统中的示例
操作系统原理,进程控制,原子操作,进程原语种类,创建,撤销,阻塞等,进程原语在不同操作系统中的示例一、进程控制与原子操作,:1、操作完成进程个状态之间的转换,由具有特定功能的原语完成。2、原语primitive:完成某种特定功能的一段程序,但是在运行时无法被中断或分割,所以被称为原语,原语在执行的过程中必须是连续的,在执行过程中不允许被中断(技术上操作系统中需要在执行原语时屏蔽中断异常保证原语的连续性),又叫原子操作。二、进程控制原语包括:1、进程创建原语2、进程撤销原语3、阻塞原语4、唤醒
2022-05-14 17:09:17 3046
原创 操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例
操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例一、进程的三种基本状态:运行态,就绪态,等待态1、运行态:进程占有CPU,并在CPU上运行2、就绪态:已经具备运行条件,但因无空闲CPU暂时不能运行。3、等待态(又称阻塞态,封锁态,睡眠态)等待某一事件暂时不能运行二、三个状态之间的转换1、运行-》就绪:运行中的进程用完了时间片,一个高优先级的进入就绪状态,抢占正在运行的进程。2、就绪-》运行:调度程序选
2022-05-14 17:02:43 8118
原创 操作系统原理,多道程序设计,并发环境与并发任务,进程定义,进程控制块PCB,PCB维护的进程数据
操作系统原理,多道程序设计,并发环境与并发任务,进程定义,进程控制块PCB,PCB维护的进程数据一、多道程序设计:1、允许多个程序同时进入内存运行,目的是为了提高系统效率。2、每个程序有自己的程序计时器,物理上只有一个计时器,每个程序在占用CPU时,会将自己的计时器里的内容推送到物理计时器中,通过这种操作,使得多个应用程序可以同时在内存中执行。3、宏观上:多个应用程序在并发进行4、微观上:单个CPU任然在串行处理任务。二、并发环境:1、一段时间间隔内,单个处理器上有两个或两个以上的程序同时处于
2022-05-14 16:50:15 2380
原创 操作系统原理,系统调用,系统调用与库函数API等函数之间的调用关系,功能与机制设计,系统调用的执行过程与Linux系统调用执行示例,不同操作系统下的PCB
操作系统原理,系统调用,功能与机制设计,系统调用的执行过程与Linux系统调用执行示例一、系统调用:操作系统功能调用,用户在编程时可以调用的操作系统功能。1、系统调用是操作系统提供给编程人员的唯一接口,使CPU状态从用户态陷入内核态。2、每个操作系统都提供几百种系统调用,例如进程控制,进程通信pipe,文件使用IO,目录操作,设备管理,信息维护等。二、系统调用/库函数/API/内核函数的调用关系三、系统调用机制的设计1、中断异常机制支持系统调用服务的实现2、使用特殊指令:陷入指令(防管指令)
2022-05-08 21:53:08 1679
原创 操作系统原理,硬件需要响应中断,中断向量表与Linux示例,中断处理程序流程,软件需要处理中断,中断机制示例
O、中断异常机制是现代计算机系统的核心机制之一,硬件和软件相互配合使计算机系统充分发挥能力。一、硬件的工作:响应中断1、捕获中断源发出的中断异常请求,以一定的方式响应,将处理器控制权交给特定的处理程序。2、中断响应:发现中断,接收中断的过程,由中断硬件部件完成。3、处理器控件中设置了中断寄存器,保存了发来的各种中断信号。二、CPU响应中断的过程:1、CPU执行指令周期的最后时刻扫描中断寄存器,查看是否有中断信号。2、CPU执行指令的过程中如果出现中断,中断硬件将该中断触发器内容按照规定编码送
2022-05-08 21:49:17 1634
原创 操作系统原理,中断/异常机制,作用,概念,特点,引入原因,事件由中断和异常组成,常见的中断与异常类型,内中断外中断
操作系统原理,中断/异常机制,作用,概念,特点,引入原因,事件由中断和异常组成,常见的中断与异常类型,内中断外中断一、中断/异常机制对操作系统非常重要,类似汽车的发动机,飞机引擎,可以理解为:操作系统是“中断驱动”或者“事件驱动”的。作用:1、及时处理设备发来的中断请求2、使OS捕获用户程序提出的服务请求3、防止用户程序执行过程种的破坏性活动4、和其他很多事。。。二、中断/异常的概念:CPU对系统发生的某个事件做出的反应。当事件发生后,CPU中断正在执行的程序,保留现场后自动转去执行相应事
2022-05-08 21:43:28 2990
原创 操作系统原理,寄存器种类,处理器状态,操作系统对硬件的需求,特权指令与非特权指令,CPU状态之间的切换
操作系统原理,寄存器种类,处理器状态,操作系统对硬件的需求,特权指令与非特权指令,CPU状态之间的切换O、中央处理器CPU:由控制器,运算器,一系列寄存器,高速缓存构成一、寄存器的种类1、用户可见的寄存器:高级语言编译器通过优化算法分配并使用,以减少程序访问内存的次数。2、控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用二、控制和状态寄存器:1、用于控制处理器的操作。2、再某种特权级别下可以访问、修改。三、常见的控制和状态寄存器:1、程序计数器(PC,program coun
2022-05-08 21:37:49 3603
原创 操作系统,本质为软件,直接与硬件交互,操作系统管理与服务应用进程,应用难以脱离操作系统单独运行,避免单进程独占资源,卡死操作系统与避免被卡死
操作系统,本质为软件,直接与硬件交互,操作系统管理与服务应用进程,应用难以脱离操作系统单独运行,避免单进程独占资源,卡死操作系统与避免被卡死一、操作系统管理硬件资源、控制程序运行,改善人机界面,为应用软件提供支持的一种系统软件,是位于硬件和应用之间的软件层,理解一下:1、操作系统本身也是软件,不过是直接与硬件进行交互,并封装硬件提供的接口以向上层应用提供服务的,就像计算机网络服务中的层次关系一样,操作系统负责屏蔽下层(硬件层)的差异,并向上层(应用层)提供统一的服务接口。2、操作系统的核心功能是将有
2022-05-08 21:32:39 3421
原创 TCP/IP,TCPsocket,tcp协议的特点,tcp报文段最长字节数,tcp头内容,确认号和超时时限的设定细节,tcp协议是GBN和SR的混合体,
TCP/IP,TCPsocket,tcp协议的特点,tcp报文段最长字节数,tcp头内容,确认号和超时时限的设定细节,tcp协议是GBN和SR的混合体,一、TCPsocket1、TCP是面向连接的,它的socket其实是一个数据模型,拥有本IP,目标IP,本端口,目标端口的四元组,还有连接状态信息,并使用一个整数与其对应,这个整数就是文件描述符。2、这种数据模型封装了一个tcp连接的会话关系,体现在代码上就是socket文件描述符。3、一个TCPsocket就是一个TCP会话关系。4、使用tcp通
2022-05-04 15:21:27 2058
原创 TCP/IP,Linux多路IO模型epoll,select和poll的升级版,有更多的API,消耗更多句柄换来监听的清晰度,select,poll,epoll比较
TCP/IP,Linux多路IO模型epoll,select和poll的升级版,有更多的API,消耗更多句柄换来监听的清晰度,select,poll,epoll比较O、在服务端拥有较多的连接套接字的情况下,只想监听部分套接字,需要用到epoll,1、和select和poll相比,epoll可以在发生了事件后直接返回发生了事件的描述符,而不用一个个判断。2、epoll是目前非常常见的多路io转接模型,效率上大于等于select,在多连接和多监听的情况下,二者效率差不多。3、epoll拥有比select
2022-05-03 22:03:45 367
原创 TCP/IP,Linux多路IO模型poll,select升级版的poll模型,代码示例
TCP/IP,Linux多路IO模型poll与代码示例O、select本身使用上有些许不方便的地方,比如需要将所有描述符与select得到的fd_set遍历比较,比较麻烦,poll模型是select模型的升级版,使用起来更加方便一些。一、poll函数以及参数函数声明: #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout);结构体声明: struct pollfd {
2022-05-03 21:50:11 616
原创 TCP/IP,Linux多路IO模型select,select的作用,用法,限制,监听上限的修改方法,代码示例
TCP/IP,Linux多路IO模型selectO、单个服务器连接多个客户端1、服务器主机一般无法避免要与大量客户机进行连接并通信,2、不管使用多进程还是多线程,庞大的连接量都会迅速将服务器的进程或线程资源消耗光,3、Linux系统内核提供了多路IO模型select,poll,epoll进行单进程多连接的维护,Windows也有类似的模型方便在单进程中维护多个连接。4、这里的“模型”听起来和编程似乎脱节了,只要知道这就是函数就可以,例如select函数,poll函数,epoll函数,就和编码联系上
2022-05-03 21:20:26 1754
原创 TCP/IP,可靠数据传输rdt性能优化,流水线协议,滑动窗口,回退N步BGN,选择重传SR,对停等确认过程的优化,正常传输和异常传输时协议的传输处理
TCP/IP,可靠数据传输rdt性能优化,流水线协议,滑动窗口,回退N步BGN,选择重传SR,对停等确认过程的优化,正常传输和异常传输时协议的传输处理O、可靠数据传输rdt(reliable data transfer)通过包排序,停等确认,超时重传3个机制实现了可靠的数据传输,其中停等机制保证了数据正确的同时极大的限制了传输的效率,故需要优化。一、停等协议对性能的影响:当通信信道非常长,一个包和对应的肯定确认在发送方和接收方之间传输需要比较长的时间时,不停的一个个包来回发送和确认会浪费信道的传输资源
2022-05-03 17:11:18 1359
原创 TCP/IP,可靠数据传输rdt(reliable data transfer)的原理,包排序,停等确认,超时重传,确保传输过程中包的不出错和不丢失
TCP/IP,可靠数据传输rdt(reliable data transfer)的原理,包排序,停等确认,超时重传,确保传输过程中包的不出错和不丢失O、信道的不可靠特点决定了可靠数据传输的复杂性,ip层提供的服务并不是稳定可靠的(unreliable data transfer),数据在传输时可能会发生数据出错,丢失的问题,tcp通过多个机制,以传输性能上的部分损耗,保证了数据不会出错丢失等问题,Rdt的数据交付过程经过上层调用后,发送方和接收方进入了数据传输的状态,此时讨论在上层调用后和下一次调用
2022-05-03 16:59:22 1444
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人