一、操作系统 1.定义 操作系统是用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间。操作系统运行在内核态,拥有对所有硬件的完全访问权,可以执行机器能够运行的任何指令。软件的其余部分运行在用户态。在用户态下,只使用了机器指令中的一个子集,且影响机器的控制或可进行IO(输入/ ...
分类:
编程语言 时间:
2018-06-08 22:06:30
阅读次数:
221
本文参考《深入理解java虚拟机第二版》 一。什么是线程安全? 这里我借《Java Concurrency In Practice》里面的话:当多个线程访问一个对象,如果不考虑这些线程在运行时环境下的调度和交替执行,也不需要额外的同步,或者调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正 ...
分类:
编程语言 时间:
2018-06-08 00:55:07
阅读次数:
199
协程是用户态的线程,并非真正意义上的线程, 协程只有一个线程,看起来并发的效果是因为它利用了寄存器的上下文切换, 多线程和多进程比较消耗cpu资源,当遇到修改数据的时候,还会遇到死锁的问题。 协程是最大的发挥了cpu的单核能力,遇到io阻塞就切换,阻塞完成之后切换回来。 协程的好处: 跨平台 跨体系 ...
分类:
其他好文 时间:
2018-06-03 21:29:52
阅读次数:
209
介绍 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值, ...
分类:
其他好文 时间:
2018-05-30 19:13:08
阅读次数:
157
摘要:POLARDB是阿里云ApsaraDB数据库团队研发的基于云计算架构的下一代关系型数据库,其最大的特色是计算节点与存储节点分离,借助优秀的RDMA网络以及最新的块存储技术。POLARDB不但满足了公有云计算环境下用户业务快速弹性扩展的刚性需求,同时也满足了互联网环境下用户对数据库服务器高可用的 ...
分类:
数据库 时间:
2018-05-30 16:40:25
阅读次数:
195
2018/05/29今天上班,程序员和我说测试环境的站点打开很慢,让我排查一下。作为菜鸟,还是首次遇到这样的问题,于是使用top查看系统资源,以CPU和内存分别排序查看,情况如下图:从负载上看loadaverage:0.51,0.98,1.12并无异常,这里说明一下服务器使用的是阿里云ECS,2vCPU4G。且看%CPU比例,用户态和系统态的CPU使用率并不高,可以暂且排除病毒侵入的情况。在使用n
分类:
Web程序 时间:
2018-05-30 11:03:32
阅读次数:
207
1. 用户态和内核态的概念区别 究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子: 1)例子 void testfork(){ if(0 = = fork() ...
分类:
其他好文 时间:
2018-05-22 23:49:16
阅读次数:
210
网络编程 一、网络信息传输概述 根据计算机操作系统知识,内存分为内核态内存和用户态内存,用户应用代码运行在用户态,而系统代码(如系统服务和设备驱动)运行在内核态。正是这样的机制子保证了系统的稳定性。当发送端向接收端发送消息时,发送端发送的消息在用户态内存被操作系统调入内核态内存,然后通过网卡将消息以 ...
分类:
其他好文 时间:
2018-05-22 19:50:38
阅读次数:
210
本文原地址:https://blog.csdn.net/qq_34228570/article/details/72995997 用户空间就是用户进程所在的内存区域,相对的,系统空间就是操作系统占据的内存区域。用户进程和系统进程的所有数据都在内存中。 是谁来划分内存空间的呢?在电脑开机之前,内存就是 ...
分类:
其他好文 时间:
2018-05-17 12:00:20
阅读次数:
145
参考文档: Linux探秘之用户态与内核态:https://www.cnblogs.com/bakari/p/5520860.html ...
分类:
系统相关 时间:
2018-05-15 22:49:01
阅读次数:
205