![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系统
文章平均质量分 64
唐伯虎点蚊香dw
这个作者很懒,什么都没留下…
展开
-
docker-compose搭建spark集群,包括hdfs集群
我们经常会遇到这样一个情况,想搭建一个简单的大数据环境用来运行一些小工程小项目或者仅仅是用来学习和完成作业,然而spark集群和hdfs集群环境会消耗很多时间和精力,我们应该关注的是spark应用的开发,快速搭建整个环境,从而尽快投入编码和调试,今天我们就使用docker-compose,极速搭建和体验spark和hdfs的集群环境。先创建一个文件夹用来存放配置文件,集群的安装路径也会是这个文件夹,所以想好放在哪里比较好,我的路径是:/home/sparkcluster_hdfs。转载 2024-03-15 15:04:16 · 175 阅读 · 1 评论 -
Java和操作系统交互细节
结合 CPU 理解一行 Java 代码是怎么执行的根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示.(该图来源于百度)我们先来分析 CPU 的工作原理,现代 CPU 芯片中大都集成了,控制单元,运算单元,存储单元.控制单元是 CPU 的控制中心, CPU 需要通过它才知道下一步做什么,也就是执行什么指令,控制单元又包含:指令寄存器( IR ),指令译码器( ID )和操作控制器( OC ).当程序被加载进内存后,指令就转载 2021-09-08 14:34:49 · 608 阅读 · 0 评论 -
Linux操作系统学习(磁盘IO)
计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的CPU主频早已超过3GHz,内存也进入了普及DDR4的时代。然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时SSD硬盘价格高昂,不能在短时间内完全替代传统硬盘。传统磁盘的I/O读写速度成为了计算机系统性能提高的瓶颈,制约了计算机整体性能的发展。硬盘性能的制约因素是什么?如何根据磁盘I/O特性来进行系统设计?针对这些问题,本文将介绍硬盘的物理结构和性能指标,以及操作系统针对磁盘性能所做的优化,最后讨论下基于磁盘I/O特性原创 2021-09-09 10:35:52 · 274 阅读 · 0 评论 -
Linux操作系统学习(内存与I/O交换 Page Cache&swap)
堆、栈、代码段是否常驻内存?本文主要介绍两类不同的页面,以及这两类页面如何在内存和磁盘间进行交换?以及内存和磁盘的颠簸行为- swaping,和硬盘的swap分区。page cachefile-backed的页面:(有文件背景的页面,比如代码段、比如read/write方法读写的文件、比如mmap读写的文件;他们有对应的硬盘文件,因此如果要交换,可以直接和硬盘对应的文件进行交换),此部分页面进page cache。匿名页:匿名页,如stack,heap,CoW后的数据段等;他们没有对应的硬盘文件转载 2021-09-09 10:11:04 · 482 阅读 · 0 评论 -
Linux操作系统学习(I/O系统)
I/O硬件1.主板2.总线并行的缺点:1.体积大,2.bit干扰现在大多数都是串行的3.外围组件的相互链接(PCI)北桥直接跟CPU相连,然后链接吞吐量大的设备,南桥跟北桥相连,连接低速设备I/O设备控制方式内核I/O结构...原创 2021-09-08 23:34:53 · 104 阅读 · 0 评论 -
Linux操作系统学习(软连接和硬链接)
1.创建两个文件并查看inode和硬连接数发现inode分别位11 , 12 ,但是在删除hello1后,再创建一个文件hello3,发现inode位11说明inode是可以回收的通过ln 创建一个hello2的硬链接hello2_hardlink后,链接的内容位hello2的内容,hello2的硬链接数也变成了2,并且他们两个的inode一模一样,也就是他们两个的物理块是一样的,只是不同的表现形式,删除hello2后,inode不会回收2,软连接对hello3创建一个软连接..原创 2021-09-08 20:25:08 · 185 阅读 · 0 评论 -
Linux操作系统学习(文件系统实现)
一,文件系统实现首先装入分区信息(绿色):记录分区大小,多少个扇区等存放空闲扇区信息(黄色):装入目录(蓝色):当前的文件信息,位置信息最后是数据区域:灰色地方1.文件目录由很多的directory entry组成:LInux的文件系统是UFS :在Inode中没有文件名,文件名安排在了目录的另一个地方所以LInux文件系统的结构多了一个iNodes区2.分配方法1.连续分配:2.链接分配:3.空闲空间管理二,...原创 2021-09-05 23:31:57 · 553 阅读 · 0 评论 -
Linux操作系统学习(文件系统操作)
1.设置root密码:su allend:切换为自己的目录sudo passwd root:修改root用户密码2.fdisk -l 查看系统所有磁盘情况可以看到磁盘的大小,多少个字节,多少个扇区,以及扇区的大小Disklabel type :dosDisk identifier: 磁盘id号/dev/sda:表示第a块硬盘设备/dev/sda1:表示第a块硬盘设备的第1个分区,Boot:是不是启动分区 ;start:起始的扇区号;end:最终的扇区号;Sec..原创 2021-09-05 18:03:52 · 374 阅读 · 0 评论 -
Linux操作系统学习(文件系统)
一,文件系统1.对于大多数用户而言,文件系统是操作系统的一部分,是操作系统的一个功能。2.他提供了一个对操作系统和所有用户程序和数据的在线存储和访问的操作,3.文件系统是在设备上,比如机械硬盘,SSD等每个分区的开头是分区信息,目录表等低级格式化->划分扇区,写入控制信息->写入文件系统4。文件系统包含两个不同的部分:①一组文件的集合,每个文件都会存储相关联的数据,②目录结构,组织和提供所有文件的信息二,文件概念文件存储会有一点浪费,比如实际大小3.38...原创 2021-09-04 22:28:05 · 487 阅读 · 2 评论 -
Linux操作系统学习(大容量存储)
一,磁盘结构磁盘格式化:低级格式化:基础装修,划分扇区,写入控制信息高级格式化:装入操作系统对应的文件系统二,磁盘性能三,磁盘调度任何一个程序需要从磁盘进行io操作时,都要进行一次系统调用,这个调用请求需要包含一下信息:1.是输出操作还是输入操作2.磁盘传输的地址(柱面,磁头,扇区)3.对应的内存地址4.要传输的扇区数量(传输以扇区为单位)对于并发系统的进程,在同一时刻会发生大量的磁盘调度请求,操作系统是管理者,但是磁盘只能一...原创 2021-09-04 16:42:32 · 209 阅读 · 0 评论 -
Linux操作系统学习(虚拟内存)
一,局部性原理因为局部性原理,我们读一个二维数组时,则会一行一行的访问的效率会比一列一列的访问的效率高二,虚拟内存磁盘中划分出一部分区域作为swap space(交换空间),之前磁盘分区的时候会留一部分作为交换空间,现在都是自动划分的虽然可以不用担心内存不足,因为后面有硬盘作为后备内存,但是速度会很慢硬盘上的这部门swap space就是虚拟内存1,虚拟内存是一个允许进程不需要完全在内存中的一种技术(部分装入)2.如果内存只有两个G,但是进程可以有...原创 2021-09-02 23:35:47 · 130 阅读 · 0 评论 -
Linux操作系统学习(页表)
一,页表帧表存放内存帧的使用情况,页表存放页号和帧号对应,其中页号是可以省略的,因为数组的下标可以作为页号操作系统会为每一个进程创建一份页表,当一个进程分配到cpu运行时,调度程序会将页表加载进来,分页会增加上下文切换的开销。二,快表1.HARDWARE PAGETABLE :每一个进程的页表是保存到主存中的,CPU有一个寄存器叫做page-table base register(PTBR)用来存放页表的起始地址。切换进程时只需要改变这个寄存器的值就可以了。要读一个字节时,.原创 2021-09-01 23:31:23 · 1725 阅读 · 0 评论 -
Linux操作系统学习(内存管理)
一,固定大小分区1.内存分配内存有很多不同大小的分区,一个分区只能容许一个进程,内存管理器将给进程分配内存最接近的分区,比如进程进程A需要6kb的内存,当前有两个分区一个8kb,一个10kb,那么内存管理器将分配8Kb的分区给进程A,但是进程只需要6Kb,所以剩余的2kb就是碎片,这样可以保证进程的内存都是连续的,并且物理地址的计算也很方便,但是会产生很多碎片2.内存回收回收只需要将内存分区全部置为0 即可这种方案实现简单,回收也很方便,但是碎片很多,大内存进程不好管理二,可..原创 2021-08-31 10:43:13 · 207 阅读 · 0 评论 -
Linux操作系统学习笔记
一,进程内存空间进程的组成部分:代码段,数据段,堆,栈,程序计数器 其中代码段存放代码,数据段存放静态变量和全局变量,堆存放运行时的一些数据,栈则存放局部变量,这个跟JVM的内存模型很像,方法区(代码段和数据段),堆,虚拟机栈,本地方法栈,程序计数器命令:cat /proc/${pid}/status /proc/${pid}/maps可以查看进程的状态和映射情况二,内存管理...原创 2021-08-30 21:08:34 · 110 阅读 · 2 评论 -
磁盘缓存PageCache
引入Cache层的母的是为了提高linux操作系统对磁盘访问的性能,Cache层在内存中缓存了磁盘上的部分数据,当数据的请求到达时,如果在Cache中存在该数据且是最新的,则直接将数据传递给用户程序,免除了对底层磁盘的操作,在linux实现中...转载 2020-04-13 20:49:09 · 383 阅读 · 0 评论