计算机系统的一些重要概念

注:部分概念主要源于《深入理解计算机系统》
一、线程与进程及超线程:

线程:线程与进程的区别和联系是,每个线程都运行在进程的上下文。
这里上下文是指不同线程或进程间的切换,上下文的概念主要来源于进程,对于每个进程而言它都是独占CPU和主存的,而电脑中是允许多个进程的,所以在并发执行的时候需要在不同进程之间切换,使得最后产生的效果是多个进程在同时运行。实际上是由于CPU的高速切换,使得我们人是无法辨识的而已。
在进程后出现了一个新的概念就是进程,相对于进程而言,不同进程是进程的上下文,不同进程共享的是同一进程的空间和资源如全局变量、代码等。线程之所以在现在的代码中经常出现大部分原因是,它用在网络编程中。体现在网络服务器对并行的需要。

超线程是在多核处理器之后出现的,所以多线程现在一般指的是单核,它在上下文切换或线程切换时,一般是在20000个时钟周期之后。而超线程是指在在单个周期内决定指行哪个线程。其实就是不同线程可以在不同的核上来执行,实现真正的并行。

二、大小端问题:

首先,直观来讲,大小端的区分指的是数据存储时超始点是高位还是低位,高位则是大端,低位则是小端。对于一个0x1234567,存在于0x10时,大小端直观显示如下:
![这里写图片描述](https://img-blog.csdn.net/20170804100547594?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW54dXhpYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

为什么要区分大小端了,原因是在网络传输时,如果一端大,一端小转的数据是相反的,就无法通信。因此在网络通信时必须按照通信协议。
从硬件区分,Intel的一般为小端,IBM和Oracle一般为大端。事实上,对于我们而言,大小端是由操作系统决定的,如ARM采用大小端可以选择的方式,Andriod是小端格式。

三、文件操作:

在读写文件时,文件中会有一个偏移值,当读到尾的时候会触发一个条件–(end of file)EOF.
文件类型主要分为:
普通文件:包括二进制文件和文本文件
目录文件:Linux的目录结构里
通信文件:包括Socket文件,有名管道和无名管道文件
设备文件:字符设备,块设备

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值