第十二章并发编程 1.如果逻辑控制流在时间上重叠,那么它们就是并发的.这种现象,称为并发(concurrency). 2.为了允许服务器同时为大量客户端服务,比较好的方法是:创建并发服务器,为每个客户端创建各自独立的逻辑流.现代OS提供的常用构造并发的方法有: 进程和线程. 1)每个逻辑流都是一个进程,由内核来调度维护.每个进程都有独立的虚拟地址空间,控制流通过IPC机制来进行通信. 2)线程:运行在单一进程上下文中的逻辑流,由内核进行调度,共享同一进程的虚拟地址空间. 由于进程控制和IPC的开…
关于who 功能说明:显示目前登入系统的用户信息. 语 法:who [-Himqsw][--help][--version][am i][记录文件] 补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的 终端机,登入时间以及从何处登入或正在使用哪个X显示器. 参 数: -H或--heading 显示各栏位的标题信息列. -i或-u或--idle 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何…
20135316王剑桥<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 一.可执行程序是怎么得来的? 编译器预处理(负责把include的文件包含进来及宏替换等工作):编译成汇编代码:编译器编译成目标代码:再链接成可执行文件:操作系统加载到内存中来执行 hello.o和hello文件都是ELF格式的 二.目标文件的格式(ELF可执行可链接) ABI(应用程序二进制接口) 可重定位主要是.o文件 可执行文件加载的主…
20135316王剑桥 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 三个法宝:存储程序计算机.函数调用堆栈.中断. 两把宝剑:中断上下文和进程上下文切换. 内核启动相关代码基本都在init目录下. Linux内核的核心代码在kernel目录中. -S:在CPU开始运行之前将其冻结: -s:如果不想使用1234端口,泽可以使用-gdb tcp:xxxx来代替. 重点理解相关目录内容 arch/ 该目录中包含和…
王剑桥Linux内核学习笔记 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 计算机是如何工作的 个人理解:计算机就是通过和用户进行交互,执行用户的指令,这些指令存放在内存中,通过寄存器存储,堆栈变化,来一步步顺序执行. 一.存储程序计算机工作模型 1.冯诺依曼体系结构-存储程序计算机 硬件角度(主板):通过cpu中IP寄存器指向一个代码段运行某些指令: 寄存区,指向内存的某一块区域(代码段) IP:16位cp…
20135316王剑桥 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 1.内核态:在高执行级别,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态.而在相应的低级别执行状态下,代码的掌控范围会受到限制.只能在对应级别允许的范围内活动.从而保证真个系统更稳定. 2.Intel x86的CPU有四种不同执行级别0-3,Linux只使用其中的0和3来分别表示内核态和用户态. 3.Cs寄存器的…
实验十二  图形程序设计 实验时间 2018-11-14 1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: Java的集合框架实现了对各种数据结构的封装. java.awt.Component 1.0 Boolean isVisible()  检查组件是否可见 void setVisible(boolean b)设置组件可见 void setSize(int width  ,int height)  把组件缩放到指定宽度和高度 void setBounds(…
Linux中命令格式为: command [options选项] [arguments参数] //中括号代表是可选的,即有些命令不需要选项也不需要参数 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略 cheat命令提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能. find查找一个文件在系统中的什么位置,locate是神速版本的find(Windows下有个Everything工具和locate类似). grep 可以对文件全文检…
6.存储器层次结构 6.1存储技术 1.如果你的程序需要的数据是存储在CPU寄存器中的,那么在执行期间,在零个周期内就能访问到它们.如果存储在高速缓冲中,需要1-10个周期.如果存储在主存中,需要50-100个周期.如果存储在磁盘上,需要约20000000个周期. 2.随机访问存储器(RAM,Random-access memory)分为两类-静态和动态的.静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多.SRAM用来作为高速缓存存储器,即可以在CPU芯片上,也可以不在CPU芯片上…
通过使用标准的字符码能够对文档中的字母和符号进行编码. 三种重要的数字表现形式: 1. 无符号数:编码基于传统的二进制表示法表示大于或等于零的数字. 2. 补码:编码是表示有符号整数的最常见方法,可以是正或者是负的数字. 3. 浮点数:编码是表示实数的科学计数法的以二位基数的版本 溢出:计算机的表示法是用有限数量的位来为一个数字编码,因此当结果太大就会导致某些运算溢出. 整数和浮点数会有不同的数学属性是因为:处理数字表示有限性的方法不同: 整数:编码相对较小的数值范围,但精确度高 浮点数:编码较…