知识趣记-操作系统、离散数学、机器学习-2020年9月

知识趣记-操作系统、离散数学、机器学习-2020年9月

执行V原语时,如果信号量小于等于0,则说明有进程在等待,此时应唤醒一个进程。

进程同步是进程间互相需要对方的工作成果,是直接制约问题;
进程互斥是多个进程抢占一个资源,是间接制约问题。

进程间通信方式包括管道、套接字、消息

常见cache替换策略:
FIFO:最想被装入的块,最先被替换。
LRU:最近最不常用的先被替换
随机替换:随机的选择被替换的块
cache算法和内存页面置换算法一样:都是在一个限定大小的空间的前提下,设计一个原则来更新和访问其数据。

LRU原理:

使用的数据结构:双向链表
具体方法:
那就是利用链表和hashmap。当需要插入新的数据项的时候,如果新数据项在链表中存在(一般称为命中),则把该节点移到链表头部,如果不存在,则新建一个节点,放到链表头部,若缓存满了,则把链表最后一个节点删除即可。在访问数据的时候,如果数据项在链表中存在,则把该节点移到链表头部,否则返回-1。这样一来在链表尾部的节点就是最近最久未访问的数据项。

常见页面调度算法:
随机调度
先进先出调度算法
最近最不常用调度算法。
判断一个页面调度算法好坏
一是命中率要高,而是算法要容易实现。

进程调度算法:
先来先服务调度算法FCFS
短作业优先调度算法SJF
高响应比优先
时间片轮转

操作系统的功能:
进程管理
存储管理
设备管理
文件管理
作业管理

字符串加密算法:

#include<stdio.h>
int main()
{
    char a[205];
    gets(a);
    int i,j;
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]>='a'&&a[i]<='z')
        {
            j = (a[i]-'a'+3)%26;
            a[i] = 'a'+j;
        }
        else if(a[i]>='A'&&a[i]<='Z')
        {
            j = (a[i]-'A'+3)%26;
            a[i] = 'A'+j;
        }
    }
    puts(a);
    return 0;
}

差错校验方法:
奇偶校验码和循环冗余校验
通过在最后设置一个奇偶校验位,使得奇偶校验,奇校验有奇数个1,偶检验有偶数个1。
循环冗余校验:有效信息+(有效信息+(多项式位数-1个0)对多项式的余数)

哈夫曼树:
哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1L1+W2L2+W3*L3+。
由n个叶子节点生成哈夫曼树。
1、哈夫曼树中不存在度为1的节点,只有度为0和2的节点
2、n0=n2+1

哈夫曼编码是哈夫曼树的一个应用。
在传送电文时,总是希望电文代码尽可能短,采用哈夫曼编码构造的电文的总长最短。由常识可知,电文中每个字符出现的概率是不同的。假定在一份电文中,A,B,C,D四种字符出现的概率是4/10,1/10,3/10,2/10,若采用不等长编码,让出现频率低的字符具有较长的编码,这样就有可能缩短传送电文的总长度。

贝叶斯公式:
等于P(Bi)*P(Bi)与P(A)的条件概率

朴素贝叶斯是基于很强的条件独立假设(在已知分类Y的条件下,各个特征变量取值是相互独立的)

最大似然估计,是通过给定观测值,需要获得参数,使得多组观测值出现的概率最大化
最大后验估计,在给定观测值的同时,给出参数的先验分布,通过先验和似然并且利用贝叶斯公式得最大后验

概率密度函数:
正态分布

激活函数:
提高神经网络对模型的表达能力,解决线性模型不能解决的问题
sigmoid:

tanh

relu

猜你喜欢

转载自blog.csdn.net/qq_40092110/article/details/108351046