- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 解决我遇到的 Process finished with exit code -1073741819 (0xC0000005)
今天分享一个遇到的pycharrm的小问题。最近在作训练,当我使用tensorflow来恢复保存好模型权重的时候出乎意料的出现了Process finished with exit code -1073741819 (0xC0000005),明明上一秒还可以正常运行,下一秒就完蛋了。于是我就各种...
2020-12-17 08:51:26
10549
原创 python中的 and以及or
今天整个骚的,直接上图之前只是简单的以为and就是且,or就是并,其实and和or还有更深层的含义and 的返回结果问题:从左到右计算表达式,若所有的都为真,则返回最后一个值,若存在假,返回第一个假值.or 的返回结果问题:从左到右计算表达式,只要遇到真值就返回那个真值,如果表达式结束依旧没有遇到真值,就返回最后一个假值....
2020-08-09 16:33:23
495
原创 python简单学(一)基础语法
最近在准备研究生阶段的学习,python是大二的时候学的,之后就一碰没碰,现在读起代码来是真的太吃力了,所以打算再过一遍python的相关知识,一起愉快的学习吧!(教程来源于菜鸟教程)目录标识符多行语句数字型字符串型代码组import 与 from...import标识符跟大多数语言一样,python在命名变量方法名时也需要遵循一定的规则第一个字符必须是字母表中字母或下划线 _ 标识符的其他的部分由字母、数字和下划线组成 标识符对大小写敏感不可以使用保留关...
2020-06-23 19:30:50
358
原创 搞懂正则表达式之进阶篇
在上一篇博文里我们学习了基础的正则表达式,学会这些还不足以应对工作学习,现在开始学习进阶篇的正则表达式。目录1.分组2.或者3.分组回溯4.先行断言5.后行断言1.分组在正则表达式中提供了一种将表达式分组的机制,当使用分组时,除了获得整个匹配。还能够在匹配中选择每一个分组。分组的一个重要功能就是捕获数据,即将需要的数据在字符串中提取出来。使用()即可完成分组的操作。如果我们仅想将字符分组却不捕获字符可以使用(?: 表达式)来实现分组的实践:如下,我们需要.
2020-06-06 10:05:01
270
原创 搞懂正则表达式之基础篇
正则表达式是用来进行文本匹配的一种规则,在爬虫等方面应用很广,我之前也是一知半解,现在写下我再次学习的一些记录首先推荐我学习的教程,正则练习网址: https://www.codejiaonang.com/ 正则在线测试网站: https://regexr-cn.com/,在哔哩哔哩上也有视频教程,现在开始学习!目录1.单一字符匹配2.区间字符匹配3.特殊字符匹配4.取反5.快捷操作6.重复匹配1.单一字符匹配字符匹配十分简单,只要输入你需要的字符即可匹...
2020-06-05 19:20:18
565
原创 用C语言撸线性表
线性表可以说是最常见的一种数据结构了,在日常学习中使用也很多,今天用C语言实现以下简单的线性表及基本操作。对于线性表来说可以分为顺序存储和链式存储。顺序存储是提前分配一个连续的空间,可以实现随机存取,一般采用数组实现;链式存储的存储空间不必是连续的,使用比较灵活,不会占用多余空间,一般采用指针实现现在我们要实现的是链式存储。直接上代码:一、头文件等准备部分://线性表的链式存储#i...
2020-04-30 16:57:56
572
原创 带你搞懂值传递
在C语言中,我们肯定听说过值传递的参数传递方式,但有时候可能会忘记其中的原理,下面将用图片以及代码解释值传递。 我们知道在定义函数的时候所用到的参数称为形式参数,这些参数其实是不存在的,系统不会为他分配空间,所以在调用这个函数的时候会经历两个步骤,首先根据形式参数所定义的数据类型分配空间,然后才是将实际参数传递给形式参数进行函数操作。因此将实际参数传递给形式参数的过程其实就是一个...
2020-04-29 16:03:29
2153
原创 C语言常用函数大整理
最近在准备复试,要用DEV C++写程序,被各种功能强大的IDE宠惯的我当然不会自己去记这些函数,但往往记不住这些函数就写不出程序,于是我决定自己整理一下这些常用函数,长个记性。目录一、输入输出函数二、数学函数三、字符函数四、字符串函数五、动态分配函数和随机函数一、输入输出函数这是最常用的函数头文件,在使用时加入 #include <stdio.h>...
2020-04-28 15:43:08
21096
5
原创 教你使用百度深度学习框架PaddlePaddle完成波士顿房价预测(新手向)
首先,本文是一篇纯新手向文章,我自己也只能算是入门,有说错的地方欢迎大家批评讨论目录一、人工智能、机器学习、深度学习二、PaddlePaddle(飞桨)三、波士顿房价预测模型数据处理模型设计训练配置训练过程模型保存模型测试四、小结一、人工智能、机器学习、深度学习 近几年人工智能可以说是火的不能再火,大家可能会觉得人工智能=机器学习=深...
2020-04-07 18:05:21
1530
4
原创 一文看懂NumPy的切片中常用的冒号
NumPy是Python语言的一个扩展程序库。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。在进行大量数据计算中,NumPy会为我们提供很多的方便。最近我在学习CV方面的知识,却老是弄混冒号在切片的作用,就写一篇文章来加深一下印象。一维数组 在一维数组中我们常见的表示方法有s[i:j] ,s[i:j:k],s[::-1]等等,下面我会依次实验一下各种符号的...
2020-04-01 11:43:58
1133
原创 从思维导图学习操作系统(二)
第二章是进程控制,绝对是重点,包含的知识也很多,所以我打算一小节一小节的做大纲一览小结拆分:这真的是太多了,如果有想要的朋友请留言我可以发给你。...
2020-03-24 16:05:42
194
原创 从思维导图学习操作系统(一)
我已经把操作系统复习完了,现在把每张的知识做成思维导图,我已经尽力做详细了但是一些小知识还是得去看,如果大家有兴趣也可以查看我之前的博客,我也是按照这个博客结合王道的PPT做的这个思维导图,如果大家想要的话可以留言我会给大家大纲一览:小结拆分:知识全览...
2020-03-22 15:19:22
305
1
原创 操作系统(三十七)基本分页存储的概念
3.6基本分页存储的概念介绍完连续分配管理方式后我们再来介绍非连续分配管理方式,非连续管理方式主要有三种:基本分页存储管理、基本分段存储管理、段页式存储管理。这节主要介绍分页存储管理方式。目录3.6基本分页存储的概念3.6.1 分页存储3.6.2 页表3.6.3 页表的大小3.6.4 通过页表实现逻辑地址与物理地址的转换3.6.1 分页存储将内存空间分为...
2020-03-14 19:41:00
1760
原创 操作系统(三十六)动态分区分配算法
3.5 动态分区分配算法 上节讲述了连续分区分配方式中有动态分区分配的方式,如果在动态分区分配算法中有许多空闲分区都满足需求的时候,那该如何分配空间呢,今天来介绍四种分配方法解决这个问题。目录3.5 动态分区分配算法3.5.1 首次适应算法3.5.2 最佳适应算法3.5.3 最坏适应算法3.5.4 邻近适应算法3.5.5 四种方法比较3.5.1 首次适应...
2020-03-14 15:05:22
1452
原创 操作系统(三十五)连续分配管理方式
3.4 连续分配管理方式 连续分配管理是指为用户进程分配的内存空间是连续的一片空间目录3.4 连续分配管理方式3.4.1 单一连续分配3.4.2 固定分区分配3.4.3 动态分区分配3.4.4 小结3.4.1 单一连续分配 在单一连续分配方式中,内存被分为系统区和用户区。系统区通常位于内存的低地址部分,用于存放操作系统相关数据;用户区用于存放用户进程相关数...
2020-03-13 20:16:21
563
原创 操作系统(三十四)覆盖和交换
3.3 覆盖和交换 在上一节中我们提到操作系统在内存管理方面的作用,其中有一个作用是内存空间的扩展,实现这一功能的就是覆盖和交换技术。3.3.1 覆盖早期的计算机内存很小,经常会出现内存大小不够的情况。后来人们引入了覆盖技术,用来解决“程序大小超过物理内存总和”的问题。 覆盖的思想:将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存。内存中分为一个“...
2020-03-13 15:27:28
2366
原创 操作系统(三十三)内存管理
3.2 内存管理 作为计算机资源的管理者,操作系统在内存管理方面有着很多的工作3.2.1 内存空间的分配和回收 内存空间的分配和回收主要解决的问题是内存空间那些区域需要被分配以及如何分配,还有进程结束后的空间是如何释放以及怎么释放的问题(后期会有介绍)3.2.2 内存空间的拓展 之前在讲操作系统的虚拟性的时候提到过,由于内存资源价格昂贵所以人们会使用一些技术将内存在逻辑上...
2020-03-13 14:32:34
237
原创 操作系统(三十二)内存的基础常识
3.1 内存的基础常识目录3.1 内存的基础常识3.1.1 计算机的多级存储结构3.1.2 程序的装入和链接3.1.1 计算机的多级存储结构 对于计算机的存储结构而言一般可以分为三层:最高层为 CPU 寄存器,中间为主存(内存),最底层是辅存,如下图所示 内存:可以用来存储数据的装置,内存的主要作用是缓和高速CPU与低速外存之间的速度矛盾。为了可以将存储在内存上...
2020-03-12 20:07:24
303
原创 操作系统(三十一)死锁的检测和解除
2.4.4 死锁的检测和解除目录2.4.4 死锁的检测和解除2.4.4.1 死锁的检测2.4.4.2 死锁的解除2.4.4.1 死锁的检测死锁检测算法:用于检测系统状态,以确定系统中是否发生了死锁。 对于死锁检测算法有一种专门的数据结构称为资源分配图: 一般用矩形表示资源结点,矩形中的小圆代表该类资源的数量。死锁检测算法: (1) 在资源...
2020-03-09 19:30:47
1221
原创 操作系统(三十)避免死锁
2.4.3 避免死锁 操作系统的状态可以分为安全状态以及不安全状态,让操作系统始终保持一个安全状态就能避免死锁。所谓安全状态,是指系统能按某种进程顺序(P1,P2,…,Pn)(称〈P1,P2,…,Pn〉序列为安全序列),来为每个进程 Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。如果系统无法找到这样一个安全序列,则称系统处于不安全状态。当然安全序列可以有多个...
2020-03-09 19:15:50
810
原创 操作系统(二十九)预防死锁
2.4.2 预防死锁 预防死锁的就破坏死锁产生的四个条件中的任意一个条件。目录2.4.2 预防死锁2.4.2.1 破坏互斥条件2.4.2.2 破坏不剥夺条件2.4.2.3破坏请求和保持条件2.4.2.4 破坏循环等待条件2.4.2.1 破坏互斥条件 互斥条件:只有对互斥资源的争抢才有可能产生死锁。如果把只能互斥使用的资源改造为允许共享使用,则系统...
2020-03-09 15:56:40
265
原创 操作系统(二十八)死锁的概念
2.4.1 死锁的概念在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是“死锁”。通俗一点就是我有一个资源你也有一个资源,但我们还想要对方手里的资源,可对方还不放手,于是我们就都等对方放手,导致进程没办法推进,这就造成了死锁。2.4.1.1 死锁、饥饿、死循环之前我们接触过饥饿,还有在程序中出现的死循环,他们都会使进程...
2020-03-09 14:57:04
227
原创 操作系统(二十七)管程
2.3.10 管程 经过前几节的学习,大家一定会发现P、V操作的一些问题,最大的问题就是书写较为困难,如果再写程序的时候只是想着怎么实现进程同步问题的话就太浪费时间了,于是我们就引入了管程。 管程的定义:代表共享资源的数据结构,以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序,共同构成了一个操作系统的资源管理模块,我们称之为管程。 管程的基本特征:局部于管程的数...
2020-03-09 13:47:01
184
原创 操作系统(二十六)读者写者问题
2.3.9 读者写者问题 读者写者问题是十分经典的进程同步的问题,问题描述如下:读进程与写进程共享文件,但是写进程必须与其他进程互斥发生。根据以上的题目要求我们可以得出一些互斥关系:写进程与写进程互斥,读进程与写进程互斥我们可以设置一个互斥信号量rw来实现对互斥信号的共享访问semaphore rw=1; //用于实现对共享文件的互斥访问writer (){ w...
2020-03-09 10:58:34
601
原创 操作系统(二十五)吸烟者问题-单生产者多消费者问题
2.3.8 吸烟者问题-单生产者多消费者问题假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要有三种材料:烟草、纸和胶水。三个抽烟者中,第一个拥有烟草、第二个拥有纸、第三个拥有胶水。供应者进程无限地ᨀ供三种材料,供应者每次将两种材料放桌子上,拥有剩下那种材料的抽烟者卷一根烟并抽掉它,并给供应者进程一个信号告诉完成了,供应者就会放另...
2020-03-08 14:33:19
1060
原创 操作系统(二十四)多生产者多消费者问题
2.3.7 多生产者多消费者问题 桌子上有一只盘子,每次只能向其中放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等着吃盘子中的橘子,女儿专等着吃盘子中的苹果。只有盘子空时,爸爸或妈妈才可向盘子中放一个水果。仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出水果。用PV操作实现上述过程。 不同于一个(类)生产者一个(类)消费者问题,本题目中含有多个生产者多个消费者...
2020-03-07 19:09:44
1029
2
原创 操作系统(二十三)生产者消费者问题
2.3.6 生产者消费者问题 生产者消费者问题(The proceducer-consumer problem)是一个经典的进程同步的问题,问题是这样描述的:在操作系统中有一组生产者进程一组消费者进程,生产者每次会生产一件产品并放入缓冲区,消费者每次从缓冲区取出一件产品并使用。生产者、消费者共享一个初始为空、大小为n的缓冲区。只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待。只有缓...
2020-03-07 14:29:47
1448
原创 操作系统(二十二)用信号量机制实现进程互斥、同步、前驱关系
2.3.5 用信号量机制实现进程互斥、同步、前驱关系目录2.3.5 用信号量机制实现进程互斥、同步、前驱关系2.3.5.1用信号量机制实现进程互斥2.3.5.2用信号量机制实现进程同步2.3.5.3信号量机制实现前驱关系2.3.5.1用信号量机制实现进程互斥 由之前的学习我们知道进程互斥就是在同一时间访问临界资源的进程只能有一个。并且P操作是申请资源并上锁的原...
2020-03-07 10:50:46
4072
原创 操作系统(二十一)信号量机制
2.3.4 信号量机制 在前两节中我们分别学习了用软件方式以及硬件方式实现互斥访问,但是他们或多或少的存在一些问题,1965年荷兰的一名学者迪杰斯特拉(是的,就是那个男人)提出了信号量机制,有效的解决了进程互斥与进程同步问题。目录2.3.4 信号量机制2.3.4.1 信号量机制概述2.3.4.2 整型信号量2.3.4.3 记录型信号量2.3.4.1 信号量机制概述...
2020-03-06 19:48:26
685
原创 操作系统(二十)进程互斥的硬件实现方法
2.3.3进程互斥的硬件实现方法目录2.3.3进程互斥的硬件实现方法2.3.3.1 中断屏蔽2.3.3.2TestAndSet指令(TSL指令)2.3.3.3 SWAP指令2.3.3.1 中断屏蔽 在本系列的第五节曾经提到过中断的概念,并说中断是操作系统夺回CPU的唯一方式,在这里中断屏蔽的想法与原语原子性保证的想法是一致的,即将临界区放在开中断与关中断之间,这样在...
2020-03-06 18:54:31
583
原创 操作系统(十九)进程互斥的软件实现方法
2.3.2 进程互斥的软件实现方法目录2.3.2 进程互斥的软件实现方法2.3.2.1 单标志法2.3.2.2 双标志先检查法2.3.2.3 双标志后检查法2.3.2.4 Peterson法2.3.2.1 单标志法两个进程在访问完临界区后会把使用临界区的权限转交给另一个进程。也就是说每个进程进入临界区的权限只能被另一个进程赋予int turn = 0; ...
2020-03-06 17:22:41
1004
原创 操作系统(十八)进程同步与进程互斥
2.3.1 进程同步与进程互斥目录2.3.1 进程同步与进程互斥2.3.1.1 进程同步2.3.1.2 进程互斥 在之前我们提到过,进程有异步性的特征,所谓异步性就是并发执行的进程以各自独立的、不可预知的速度向前推进,这个时候就不可避免的出现有些请求由于资源不足等原因而不能完成,所以为了使进程可以顺利的进行,操作系统引入了进程同步机制。2.3.1.1 进程同步举一...
2020-03-06 14:39:29
344
原创 操作系统(十七)调度算法(二)
2.2.5 调度算法(二) 在上一节中我们讲了三种调度算法,分别是先来先服务算法,短作业优先算法,高相应比优先算法,今天我们再来学习三种算法,分别是时间片轮转算法,优先级调度算法,多级反馈队列算法。目录2.2.5 调度算法(二) 2.2.5.1 时间片轮转算法(RR, Round-Robin)2.2.5.2 优先级调度算法2.2.5.3 多级反馈调度算法...
2020-03-05 15:29:10
1275
原创 操作系统(十六)调度算法(一)
2.2.4 调度算法2.2.4.1 先来先服务(FCFS, FirstCome First Serve)顾名思义。按照“公平”原则,兑先来的进程/作业进行调度。2.2.4.2 短作业/进程优先(SJ/PF, ShortestJob/Progress First)最短的作业/进程优先得到服务(所谓“最短”,是指要求服务时间最短) 下面我们用一个实例来演示一下两种调度...
2020-03-04 19:04:21
2344
原创 操作系统(十五)调度算法的评价指标
2.2.3调度算法的评价指标 本节我们会简要的了解一些评价指标及其计算方法。CPU利用率系统吞吐量周转时间等待时间响应时间CPU利用率CPU利用率:指CPU “忙碌”的时间占总时间的比例。即利用率=忙碌时间/处理作业工作总时间。系统吞吐量系统吞吐量:单位时间内完成作业的数量。即系统吞吐量=共完成了多少作业/总共花了多少时间。周转时间 周...
2020-03-04 15:26:07
997
原创 操作系统(十四)进程调度的时机、调度方式
2.2.2 进程调度的时机、调度方式2.2.2.1 进程调度的时机 进程调度(低级调度)就是按照某种算法从就绪队列中选择一个进程为其分配处理机。需要进程调度的时机有以下两种情况:当前进程主动放弃处理机,当前进程被动放弃处理机。当前进程主动放弃处理机:进程正常终止;运行过程中发生异常而终止;进程主动请求阻塞(如 等待I/O) 当前进程被动放弃处理机:分给进程的时间片用完、有更...
2020-03-04 15:02:57
4073
原创 操作系统(十三)处理机调度的概念、层次
2.2.1 处理机调度的概念、层次目录2.2.1 处理机调度的概念、层次2.2.1.1 处理机调度的概念2.2.1.2 处理机调度的三个层次2.2.1.3 小结2.2.1.1 处理机调度的概念 一般来说在多道程序系统中,作业数往往是多于处理机个数的,为了合理分配处理机资源这就需要确定某种规则来决定处理这些在就绪队列等待的任务的顺序,这就是“调度”研究的问题。2.2...
2020-03-04 12:03:20
653
原创 操作系统(十二)线程的实现方式、多线程模型
2.1.6 线程的实现方式、多线程模型目录2.1.6 线程的实现方式、多线程模型2.1.6.1 线程的实现方式2.1.6.2 多线程模型2.1.6.1 线程的实现方式 线程已在许多系统中实现,但各系统的实现方式并不完全相同。在有的系统中,特别是一些数据库管理系统,所实现的是用户级线程;而另一些系统所实现的是内核级线程; 还有一些系统如 Solaris 操作系统,则同时实现...
2020-03-04 10:42:29
1325
原创 操作系统(十一)线程的概念和特点
2.1.5 线程的概念和特点 前面我们介绍了进程,并说到进程是程序的一次执行,是调度的基本单位。那么大家来想一下这么一个场景,我打开了QQ.exe,QQ进程便会运行,在这次运行里我想跟同学视频聊天、共享文件、文字聊天,那么这三个功能对应的程序便会运行即QQ进程下会多出三个子进程,那么这个三个子进程都会被分配一定的资源,如果其中两个进程所需要的资源是重复的,一个进程要访问另一进程的资源就需要进...
2020-03-03 17:30:19
2589
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人