
操作系统
文章平均质量分 72
操作系统基础知识
HTDST
纸上得来终觉浅,绝知此事要躬行
展开
-
多线程中的锁(悲观锁、乐观锁、共享锁)
简述多线程中存在锁机制,它的存在主要是为了保证操作数据的正确性或者说一致性悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。悲观锁适用于写比较多的情况下(多写场景)图示:乐观锁总是假设最好的情况,每次去拿数据的时候都认为原创 2021-06-27 15:41:08 · 671 阅读 · 2 评论 -
了解多线程与多进程
目录多线程线程锁线程生命周期(按状态描述)多线程程序的生命周期多进程进程锁多线程多线程:一个应用程序中有多个执行部分可同时执行,同一时间完成多项任务,以提高资源使用效率。如:QQ软件可同时实现播放音效、消息发送等功能Python标准库提供的2个模块:_thread(低级模块)、threading(高级模块,已对_thread进行封装)启动一个线程:创建线程+执行线程。把一个函数传入并创建Thread实例,然后调用start()开始执行注意:多线程执行时的"同时"非同一时刻,而是同一时间段内线原创 2021-06-27 15:23:41 · 120 阅读 · 0 评论 -
常见http状态码、DNS结构
列表常见状态码:200 请求成功204 无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档301 资源(网页等)被永久转移到其它URL303 查看其它地址。与301类似。使用GET和POST请求查看404 请求的资源(网页等)不存在400 客户端请求的语法错误,服务器无法理解500 内部服务器错误505 服务器不支持请求的HTTP协议的版本,无法完成处理DNS结构DNS是一个分布式数据库系统,由域名空间、域名服务器、地址转换请求程序三部分原创 2021-06-11 16:40:21 · 216 阅读 · 0 评论 -
简述高并发、高可用、高性能
高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。比如你打开一个页面需要1秒,那么这1秒就是响应时间。吞吐量:单位时间内原创 2021-06-11 16:14:40 · 2085 阅读 · 1 评论 -
多进程与多线程、并行与并发、同步与异步、Socket的理解
多进程与多线程多进程:多进程可实现同一时间点多个任务并行。如:电脑同时运行多个程序,比如同时运行qq和微信,qq和微信就是两个不同的进程多线程: 一个应用程序中有多个执行部分可同时执行,同一时间完成多项任务,以提高资源使用效率。如:QQ软件可同时实现播放音效、消息发送等功能比较:参考链接:https://blog.youkuaiyun.com/hairetz/article/details/4281931.并行与并发并行处理(Parallel Processing):是计算机系统中能同时执行两个或更原创 2021-05-30 17:49:59 · 929 阅读 · 1 评论 -
浅谈Linux中的CPU负载、磁盘I/O性能、内存
目录CPU负载平均负载cpu负载的计算cpu负载分类磁盘I/O性能指标磁盘 I/O性能优化内存常用的计算方法free 与 available 的区别:CPU负载平均负载Linux操作系统能够同时处理几个不同名称的任务。但是同时运行多个任务的过程中,cpu和磁盘这些有限的硬件资源就需要被这些任务程序共享。即便很短的时间间隔内,需要一边在这些任务之间进行切换到一边进行处理,这就是多任务。运行中的任务较少的情况下,系统并不是等待此类切换动作的发生。但是当任务增加时,例如任务A正在CPU上执行计算,接下来原创 2021-05-27 21:57:43 · 1127 阅读 · 0 评论 -
磁盘结构与磁盘调度算法
目录磁盘结构磁盘调度算法先来先服务(FCFS, First Come First Served)最短寻道时间优先(SSTF, Shortest Seek Time First)电梯算法(SCAN)磁盘结构盘面(Platter):一个磁盘有多个盘面;磁道(Track):盘面上的圆形带状区域,一个盘面可以有多个磁道;扇区(Track Sector):磁道上的一个弧段,一个磁道可以有多个扇区,它是最小的物理储存单位,目前主要有 512 bytes 与 4 K 两种大小;磁头(Head):与盘面非常接近原创 2021-05-08 17:23:57 · 203 阅读 · 0 评论 -
进程之间的通信方式图解
目录进程间通信示意图管道(pipe)信号量(semophore)消息队列(message queue)信号 (sinal)共享内存(shared memory)套接字(socket)几种通信方式的比较进程间通信示意图管道(pipe)管道包括三种:普通管道PIPE:通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用.流管道s_pipe:去除了第一种限制,为半双工,只能在父子或兄弟进程间使用,可以双向传输.命名管道:name_pipe:去除了第二种限制,可以在许多并不相关的原创 2021-05-08 16:46:55 · 1498 阅读 · 0 评论 -
Linux系统启动过程详解
目录linux系统启动过程五大阶段内核引导运行 initinit程序的类型运行级别系统初始化建立终端用户登录系统图形模式与文字模式的切换方式Linux 关机linux系统启动过程五大阶段内核的引导运行 init系统初始化建立终端用户登录系统整体流程图:内核引导当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。BIOS:BIOS是英文"Basic Input Output Sy原创 2021-05-08 16:01:23 · 3304 阅读 · 0 评论 -
死锁
目录死锁是什么产生死锁的必要条件死锁恢复死锁预防死锁避免1.安全状态2.单个资源的银行家算法3.多个资源的银行家算法死锁是什么死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。产生死锁的必要条件互斥:每个资源要么已经分配给了一个进程,要么就是可用的。占有和等待:已经得到了某个资源的进程可以再请求新的资源。不可抢占:已经分配给一个进程的资源原创 2021-05-06 21:51:37 · 130 阅读 · 0 评论 -
进程几种状态的不同描述
目录进程的几种状态描述1进程状态描述2进程的几种状态描述1就绪当程序被分配到除cpu以外所有必要资源后,只要在获得cpu的使用权,就可以立即运行。其他资源都准备好,只差cpu资源的状态为就绪状态。在一个系统中可能有多个处于就绪状态的进程,这些进程排成一个队列,被称为就绪队列。阻塞进程因某种原因无法继续执行的状态。比如打印机,进程向打印机申请,但是打印机是外围设备,反应的比较慢,当进程等待打印机回复的状态。同样有阻塞队列。执行进程获得cpu使用权,其程序正在执行的状态。在单处理器中(单核),在原创 2021-05-06 18:40:00 · 989 阅读 · 0 评论 -
操作系统概述、区分
目录前言一、Unix与Linux二、硬件平台及系统位数定义ARM处理器平台(RISC)X86处理器平台(CISC)其他体系三、操作系统族谱前言最近在学习关于操作系统相关的知识,其中的一些基本概念感觉有必要详细记录一下一、Unix与Linux这个问题感觉需要着重解释一下(之前一直搞不清楚),它们究竟有什么区别与联系呢二者都属于操作系统,UNIX出现的时间更早一些Linux是在UNIX的基础上进行改进而诞生的,因此常常把 Linux 叫做“类UNIX系统”目前UNIX 大部分都是收费,而Linu原创 2021-04-30 16:09:13 · 319 阅读 · 1 评论