![](https://img-blog.csdnimg.cn/01d833a8150f4ddc8047210a3b5a5b4e.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统
文章平均质量分 89
操作系统知识点小结
shark-chili
这个作者很懒,什么都没留下…
展开
-
来聊聊内存中变量和指针以及引用的关系
所以我们需要用更多的存储单元来表示,因为上面有了字节这个单元,我们不妨将字节对应的存储单元看作整体,用多个字节组成更大的单位。仅仅用几个0或者1很难抽象现实生活中的各种数据,假如我们将8个存储单元看作一个整体,8个存储单元组成的二进制数组就有256个变化,这样一来就可以表示大部分数据了。我们希望在地址6,也就是倒数第二个位置写入1,对应的CPU操作指令如下,可以看到数值1前面我们加个了$符号,用于表示数值,而不加符号的6则表示地址6。同理对应的读取一个字节的指令则是。原创 2020-08-30 11:16:08 · 217 阅读 · 0 评论 -
如何实现一个高性能服务器
随着互联网的发展,一些网站可能每时每刻都会有千万级别的请求打到服务器上,对此我们除了增加硬件设备以外,软件架构的设计也是很重要的,只要合适的通信架构,才能做到良好的拓展以及性能的提升。我们不妨思考一下多线程架构为什么会出现性能问题,其实原因也很简单,我们没有很好的利用线程,假设我们一个请求对应一个线程,那么每个请求到来时我们都会派发一个线程,然后呢?线程使用完成后闲下来怎么办?销毁吗?原创 2020-09-04 22:40:13 · 464 阅读 · 0 评论 -
来聊聊IO阻塞与CPU任务调度
Unix操作系统用的就是非抢占式调度算法,即时间分片算法,它会将时间平均切片,每一个进程都会得到一个平均的执行时间,只有任务执行完分片算法分配的时间或者在执行期间发生阻塞,CPU才会切换到下一个线程执行。假设线程1第一次执行到期后,CPU重新计算优先级,结果发现还是线程1优先级最高,那么线程1依然会再次获得CPU执行权,这就导致其他线程一直没有执行的机会,极可能出现线程饥饿的情况。此后会再次重新计算一次优先级,在这期间,那些等待很久的线程优先级就会被大大提高,然后CPU再次找出优先级最高的线程任务执行。原创 2023-12-14 08:57:34 · 1427 阅读 · 0 评论 -
Docker图形化界面工具Portainer最佳实践
在之前的文章RocketMQ容器化最佳实践我们完成的RocketMQ的容器化部署,为了方便管理docker容器,本片文章笔者就来推荐一个笔者最常用的docker图形化管理工具——Portainer。读完上述的介绍可能读者们对Portainer还没有一个比较清晰的了解,所以笔者在这里就基于一个的部署介绍一下Portainer的日常操作步骤。当主节点更新数据之后,从节点数据也会进行同步。当我们将主节点手动停止之后,哨兵就会选举出新的master继续进行工作。原创 2022-03-08 23:57:00 · 13700 阅读 · 2 评论