Java语言从诞生之时就宣称一次编写,到处运行的跨平台特性,其实现原理是源码文件并没有直接编译成机器指令,而是编译成Java虚拟机可以识别和运行的字节码文件(Class类文件,*.class),字节码文件是一种平台无关的中间编译结果,字节码文件由java虚拟机读取,解析和执行,java虚拟机屏蔽了不同操作系统和硬件平台的差异性。 如今的java虚拟机已经称为一种通用平台,不但能够运行java语言,Groovy,JRuby,Jython等一大批动态语言也可以直接在Java虚拟机上运行,其原理也是这些动态语言的编译器将…

2021年5月1日 0条评论 5点热度 阅读全文

面向对象的代码找不到了,只有之前备份的结构化代码,面向对象的话改成两个类就好了,并不复杂。 #include <iostream> #include <fstream> #define PROGRESS 5 //进程数量 #define REC_NUM 3 //资源种类数量 using namespace std; int Available[PROGRESS]; //定义可用资源向量Available int sign[PROGRESS],work[PROGRESS][REC_NUM],w…

2021年4月16日 0条评论 7点热度 阅读全文

题目描述: 已知进程{P0,P1,P2,P3,P4},有三类系统资源A、B、C的数量分别为10、5、7,在T0时刻的资源分配情况如下图所示: (1)若进程P1请求资源,发出请求向量Request1(1,0,2),编写程序用银行家算法判断系统能否将资源分配给它; (2)若进程P2提出请求Request(0,1,0),用银行家算法程序验证系统能否将资源分配给它。 一、算法 1、银行家算法 ① 进程p向系统请求进一步分配资源,首先检查请求的所有类别的资源是否小于等于进程p所对应的需要的资源数。如果满足,进入第②步。否则认…

2021年4月15日 0条评论 6点热度 阅读全文

避免死锁的经典算法–银行家算法 此算法的根本实质就是在分配资源以后可以找到一组进程的安全序列来保证系统是处于安全状态的,不会形成死锁。 1、银行家算法的思路 —判断进程申请的资源进程的请求是否合法(请求的资源数≤还需要的资源数=需要的最大资源数-已经分配给该进程的此类资源) —有足够空闲,没有则拒绝分配 —如果有足够空闲: 假设将资源分配给进程,判断假设分配后的系统状态,安全则分配,不安全则拒绝分配。 2、银行家算法中的数据结构 可利用资源向量Available 这是一个含有m个元素的数组,其中的每一个元素代表一类…

2021年4月14日 0条评论 4点热度 阅读全文

一、预防死锁—确保系统不会进入死锁的状态 死锁的预防就是:通过破坏产生死锁的四个必要条件之一,使系统不具备产生死锁的可能。 1、破坏请求条件(静分配) 事先分配资源,在进程执行之前分配所需的全部资源,进程在执行过程中不会出现新的分配请求,便不会产生死锁,简单,易于实现。但会使系统的资源利用率变低。 2、破坏不剥夺条件 进程一旦因为申请资源被阻塞,必须释放已经拥有的全部资源。 但是此进程如果已经得到了当时阻塞时想要的资源,再次接着执行时,可能原来拥有的资源已被占用,又需要申请资源,然后可能又被阻塞,可此时又需要释放已…

2021年4月14日 0条评论 5点热度 阅读全文

配置网络 ## 配置Ip地址 vi /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback # The ethernet network interface auto ens160 iface ens160 inet static address 192.168.186.82 netmask 255.255.255.0 gateway 192.168.186.1 dns-nameserver 22…

2021年3月30日 0条评论 18点热度 阅读全文

一、定义 用户角度上,操作系统是一个控制软件,,用于管理引用程序、为应用程序提供服务、杀死引用程序。 管理者角度上,操作系统是资源管理(管理外设,分配资源)的软件 二、操作系统架层次架构 硬件之上,应用程序之下。操作系统位于应用软件之下,为应用软件提供服务支撑 进程<—>CPU, 文件<—>磁盘,地址空间<—>内存 Linux,Windows,Android的界面属于外壳(Shell),而不是内核(kernel),kernel在Shell之下 Shell包括GUI,命令行方式等 …

2021年3月25日 0条评论 13点热度 阅读全文

1. 节点3swap使用率有点高。前2个节点比较低。 2. 使用如下脚本获取进程的SWAP使用情况。 [root@node-3 ~]# cat show_swap.sh #!/bin/bash for i in ls -d /proc/* | grep -E '/[0-9]+$' do pid=${i##/proc/} if [ -f $i/cmdline -a -f $i/smaps ];then cmd=$(cat $i/cmdline) if [ "$cmd" == "" ];then cmd="N…

2021年3月16日 0条评论 9点热度 阅读全文

GNU Compiler Collection 简介 GCC遵循的部分约定规则 GCC编译过程 命令参数用法 简介 GCC支持多种计算机体系结构芯片,如x86、ARM、MIPS等,并已被移植到其他多种硬件平台 。 GCC原名为GNU C语言编译器(GNU C Compiler),只能处理C语言。但其很快扩展,变得可处理C++,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compi…

2021年3月10日 0条评论 11点热度 阅读全文

Kubernetes Dashboard 二次开发 官方源码:https://github.com/kubernetes/dashboard 开发文档:https://github.com/kubernetes/dashboard/wiki/Getting-started 1.    环境安装 1)     操作系统安装 操作系统:CentOS-7-x86_64-Minimal-1708 mac也可以,但在mac生成的镜像好像不能放在c…

2021年1月24日 0条评论 62点热度 阅读全文