Ⅰ qt是c++编译器自带的,还是需要自己去下载
Qt不过是使用C++的图形库,编译器可以选用任何支持C++的编译器,所以需要分别下载和安装。
windows版的qt,大体分为两种提供二进制下载,g++和MSVC,无论哪一种在使用前必须先安装编译器。另外windows版的集成开发环境Qt-creator gcc版安装包中带有编译器。
在无二进制发布的操作系统,如IBM Aix中就只能使用xlc或gcc编译器编译qt源代码获得qt库了。
Ⅱ mac,windows,linux各个系统介绍
Linux
From the name of its creator, Linus Torvalds, influenced by the term Unix. The original name of Linux was Freax, combining the words Free and Unix, and referring to phreaking. The administrator of the server on which Linux was first held didn't like the connection to phreaking, so Torvalds changed the name to Linux.
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software.The Linux kernel is released under the GNU General Public License version 2 (GPLv2) plus proprietary licenses for some controversial BLOBs and is developed by contributors worldwide. Day-to-day development takes place on the Linux kernel mailing list.The Linux kernel was initially conceived and created by Finnish computer science student Linus Torvalds in 1991. Early on, the MINIX community contributed code and ideas to the Linux kernel. At the time, the GNU Project had created many of the components required for a free software operating system, but its own kernel, GNU Hurd, was incomplete and unavailable. The BSD operating system had not yet freed itself from legal encumbrances. This meant that despite the limited functionality of the early versions, Linux rapidly accumulated developers and users who adopted code from those projects for use with the new operating system. The Linux kernel has received contributions from thousands of programmers. Many Linux distributions have been released based upon the Linux kernel.
Windows
Microsoft Windows is a series of software operating systems and graphical user interfaces proced by Microsoft. Microsoft first introced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs). Microsoft Windows came to dominate the world's personal computer market, overtaking Mac OS, which had been introced previously. As of Octoboer 2009, Windows had approximately 93% of the market share of the client operating systems for usage on the Internet. The most recent client version of Windows is Windows 7; the most recent server version is Windows Server 2008.
mac
The Macintosh, or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introced on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a graphical user interface rather than a command-line interface.Through the second half of the 1980s, the company built market share only to see it dissipate in the 1990s as the personal computer market shifted towards IBM PC compatible machines running MS-DOS and Microsoft Windows. Apple consolidated multiple consumer-level desktop models into the 1998 iMac all-in-one, which was a sales success and saw the Macintosh brand revitalized. Current Mac systems are mainly targeted at the home, ecation, and creative professional markets. They are: the aforementioned (though upgraded) iMac and the entry-level Mac mini desktop models, the workstation-level Mac Pro tower, the MacBook, MacBook Air and MacBook Pro laptops, and the Xserve server.
Ⅲ 电脑里常用的的英语有那些(汉语意思)
第一部分、计算机算法常用术语中英对照
Data Structures 基本数据结构
Dictionaries 字典
Priority Queues 堆
Graph Data Structures 图
Set Data Structures 集合
Kd-Trees 线段树
Numerical Problems 数值问题
Solving Linear Equations 线性方程组
Bandwidth Rection 带宽压缩
Matrix Multiplication 矩阵乘法
Determinants and Permanents 行列式
Constrained and Unconstrained Optimization 最值问题
Linear Programming 线性规划
Random Number Generation 随机数生成
Factoring and Primality Testing 因子分解/质数判定
Arbitrary Precision Arithmetic 高精度计算
Knapsack Problem 背包问题
Discrete Fourier Transform 离散Fourier变换
Combinatorial Problems 组合问题
Sorting 排序
Searching 查找
Median and Selection 中位数
Generating Permutations 排列生成
Generating Subsets 子集生成
Generating Partitions 划分生成
Generating Graphs 图的生成
Calendrical Calculations 日期
Job Scheling 工程安排
Satisfiability 可满足性
Graph Problems -- polynomial 图论-多项式算法
Connected Components 连通分支
Topological Sorting 拓扑排序
Minimum Spanning Tree 最小生成树
Shortest Path 最短路径
Transitive Closure and Rection 传递闭包
Matching 匹配
Eulerian Cycle / Chinese Postman Euler回路/中国邮路
Edge and Vertex Connectivity 割边/割点
Network Flow 网络流
Drawing Graphs Nicely 图的描绘
Drawing Trees 树的描绘
Planarity Detection and Embedding 平面性检测和嵌入
Graph Problems -- hard 图论-NP问题
Clique 最大团
Independent Set 独立集
Vertex Cover 点覆盖
Traveling Salesman Problem 旅行商问题
Hamiltonian Cycle Hamilton回路
Graph Partition 图的划分
Vertex Coloring 点染色
Edge Coloring 边染色
Graph Isomorphism 同构
Steiner Tree Steiner树
Feedback Edge/Vertex Set 最大无环子图
Computational Geometry 计算几何
Convex Hull 凸包
Triangulation 三角剖分
Voronoi Diagrams Voronoi图
Nearest Neighbor Search 最近点对查询
Range Search 范围查询
Point Location 位置查询
Intersection Detection 碰撞测试
Bin Packing 装箱问题
Medial-Axis Transformation 中轴变换
Polygon Partitioning 多边形分割
Simplifying Polygons 多边形化简
Shape Similarity 相似多边形
Motion Planning 运动规划
Maintaining Line Arrangements 平面分割
Minkowski Sum Minkowski和
Set and String Problems 集合与串的问题
Set Cover 集合覆盖
Set Packing 集合配置
String Matching 模式匹配
Approximate String Matching 模糊匹配
Text Compression 压缩
Cryptography 密码
Finite State Machine Minimization 有穷自动机简化
Longest Common Substring 最长公共子串
Shortest Common Superstring 最短公共父串
DP——Dynamic Programming——动态规划
recursion —— 递归
第二部分、编程词汇
A2A integration A2A整合
abstract 抽象的
abstract base class (ABC)抽象基类
abstract class 抽象类
abstraction 抽象、抽象物、抽象性
access 存取、访问
access level访问级别
access function 访问函数
account 账户
action 动作
activate 激活
active 活动的
actual parameter 实参
adapter 适配器
add-in 插件
address 地址
address space 地址空间
address-of operator 取地址操作符
ADL (argument-dependent lookup)
ADO(ActiveX Data Object)ActiveX数据对象
advanced 高级的
aggregation 聚合、聚集
algorithm 算法
alias 别名
align 排列、对齐
allocate 分配、配置
allocator分配器、配置器
angle bracket 尖括号
annotation 注解、评注
API (Application Programming Interface) 应用(程序)编程接口
app domain (application domain)应用域
application 应用、应用程序
application framework 应用程序框架
appearance 外观
append 附加
architecture 架构、体系结构
archive file 归档文件、存档文件
argument引数(传给函式的值)。参见parameter
array 数组
arrow operator 箭头操作符
ASP(Active Server Page)活动服务器页面
ASP.NET worker process ASP.NET工作者进程
assembly 装配件、配件
assembly language 汇编语言
assembly manifest 装配件清单
assert(ion) 断言
assign 赋值
assignment 赋值、分配
assignment operator 赋值操作符
associated 相关的、相关联的
associative container 关联式容器(对应sequential container)
asynchronous 异步的
atomic 原子的
atomic operation 原子操作
attribute 特性、属性
authentication service 验证服务
authorization 授权
audio 音频
A.I. 人工智能
B2B integration B2B整合、B2B集成(business-to-business integration)
background 背景、后台(进程)
backward compatible 向后兼容、向下兼容
backup 备份
backup device备份设备
backup file 备份文件
bandwidth 带宽
base class 基类
base type 基类型
batch 批处理
BCL (base class library)基类库
binary 二进制
binary search 二分查找
binary tree 二叉树
binary function 双参函数
binary large object二进制大对象
binary operator 二元操作符
binding 绑定
bit 位
bitmap 位图
bitwise 按位...
bitwise 为单元进行复制;位元逐一复制,按位拷
bitwise operation 按位运算
block 块、区块、语句块
bookkeeping 簿记
boolean 布林值(真假值,true或false)
border 边框
bounds checking 边界检查
boxing 装箱、装箱转换
brace (curly brace) 大括号、花括号
bracket (square brakcet) 中括号、方括号
breakpoint 断点
browser applications 浏览器应用(程序)
browser-accessible application 可经由浏览器访问的应用程序
build 编连(专指编译和连接
built-in 内建、内置
bus 总线
business 业务、商务(看场合)
business Logic 业务逻辑
business rules 业务规则
buttons 按钮
bug 臭虫
by/through 通过
byte 位元组(由8 bits组成)
cache 高速缓存
calendar 日历
call 调用
callback 回调
call-level interface (CLI)调用级接口(CLI)
call operator 调用操作符
candidate key 候选键 (for database)
cascading delete 级联删除 (for database)
cascading update 级联更新 (for database)
casting 转型、造型转换
catalog 目录
chain 链(function calls)
character 字符
character format 字符格式
character set 字符集
CHECK constraints CHECK约束 (for database)
checkpoint 检查点 (for database)
check box 复选框
check button 复选按钮
child class 子类
CIL (common intermediate language)通用中间语言、通用中介语言
class 类
class declaration 类声明
class definition 类定义
class derivation list 类继承列表
class factory 类厂
class hierarchy 类层次结构
class library 类库
class loader 类装载器
class template 类模板
class template partial specializations 类模板部分特化
class template specializations 类模板特化
classification 分类
clause 子句
client application 客户端应用程序
client cursor 客户端游标 (for database)
code page 代码页
cleanup 清理、清除
CLI (Common Language Infrastructure) 通用语言基础设施
client 客户、客户端
client area 客户区
client-server 客户机/服务器、客户端/服务器
clipboard 剪贴板
clone 克隆
CLS (common language specification) 通用语言规范
code access security 代码访问安全
COFF (Common Object File Format) 通用对象文件格式
collection 集合
COM (Component Object Model) 组件对象模型
combo box 组合框
command line 命令行
comment 注释
commit 提交 (for database)
communication 通讯
compatible 兼容
compile time 编译期、编译时
compiler 编译器
component组件
composite index 复合索引、组合索引 (for database)
composite key 复合键、组合键 (for database)
composition 复合、组合
concept 概念
concrete具体的
concrete class 具体类
concurrency 并发、并发机制
constraint 约束 (for database)
configuration 配置、组态
connection 连接 (for database)
connection pooling 连接池
console 控制台
constant 常量
construct 构件、成分、概念、构造(for language)
constructor (ctor) 构造函数、构造器
container 容器
containment包容
context 环境、上下文
control 控件
cookie (不译)
拷贝
CORBA 通用对象请求中介架构(Common Object Request Broker Architecture)
cover 覆盖、涵盖
create/creation 创建、生成
crosstab query 交叉表查询 (for database)
CRTP (curiously recurring template pattern)
CTS (common type system)通用类型系统
cube 多维数据集 (for database)
cursor 光标
cursor 游标 (for database)
custom 定制、自定义
data 数据
data connection 数据连接 (for database)
Data Control Language (DCL) 数据控制语言(DCL) (for database)
Data Definition Language (DDL) 数据定义语言(DDL) (for database)
data dictionary 数据字典 (for database)
data dictionary view 数据字典视图 (for database)
data file 数据文件 (for database)
data integrity 数据完整性 (for database)
data manipulation language (DML)数据操作语言(DML) (for database)
data mart 数据集市 (for database)
data pump 数据抽取 (for database)
data scrubbing 数据清理 (for database)
data source 数据源 (for database)
Data source name (DSN) 数据源名称(DSN) (for database)
data warehouse 数据仓库 (for database)
dataset 数据集 (for database)
database 数据库 (for database)
database catalog 数据库目录 (for database)
database diagram 数据关系图 (for database)
database file 数据库文件 (for database)
database object 数据库对象 (for database)
database owner 数据库所有者 (for database)
database project 数据库工程 (for database)
database role 数据库角色 (for database)
database schema 数据库模式、数据库架构 (for database)
database script 数据库脚本 (for database)
data-bound 数据绑定 (for database)
data-aware control数据感知控件 (for database)
data member 数据成员、成员变量
dataset 数据集 (for database)
data source 数据源 (for database)
data structure数据结构
data table 数据表 (for database)
datagram 数据报文
DBMS (database management system)数据库管理系统 (for database)
DCOM (distributed COM)分布式COM
dead lock 死锁 (for database)
deallocate 归还
debug 调试
debugger 调试器
decay 退化
decision support 决策支持
declaration 声明
declarative referential integrity (DRI)声明引用完整性(DRI) (for database)
dection 推导
DEFAULT constraint默认约束 (for database)
default database 默认数据库 (for database)
default instance 默认实例 (for database)
default result set 默认结果集 (for database)
default 缺省、默认值
defer 推迟
definition 定义
delegate 委托
delegation 委托
dependent name
deploy 部署
dereference 解引用
dereference operator (提领)运算子
derived class 派生类
design by contract 契约式设计
design pattern 设计模式
destroy 销毁
destructor(dtor)析构函数、析构器
device 设备
DHTML (dynamic HyperText Markup Language)动态超文本标记语言
dialog 对话框
digest 摘要
digital 数字的
DIME (Direct Internet Message Encapsulation)直接Internet消息封装
directive (编译)指示符
directory 目录
dirty pages脏页 (for database)
dirty read 脏读 (for database)
disassembler 反汇编器
DISCO (Discovery of Web Services)Web Services的查找
disk 盘
dispatch 调度、分派、派发(我喜欢“调度”)
DISPID (Dispatch Identifier)分派标识符
distributed computing 分布式计算
distributed query 分布式查询 (for database)
DNA (Distributed interNet Application) 分布式网间应用程序
document 文档
DOM (Document Object Model)文档对象模型
dot operator (圆)点操作符
driver 驱动(程序)
DTD (document type definition) 文档类型定义
double-byte character set (DBCS)双字节字符集(DBCS)
mp 转储
mp file 转储文件
dynamic cursor 动态游标 (for database)
dynamic filter 动态筛选 (for database)
dynamic locking 动态锁定 (for database)
dynamic recovery 动态恢复 (for database)
dynamic snapshot 动态快照 (for database)
dynamic SQL statements 动态SQL语句 (for database)
dynamic assembly 动态装配件、动态配件
dynamic binding 动态绑定
EAI (enterprise application integration)企业应用程序集成(整合)
EBCO (empty base class optimization) 空基类优化(机制)
e-business 电子商务
EDI (Dlectronic Data Interchange)电子数据交换
efficiency 效率
efficient 高效
end-to-end authentication 端对端身份验证
end user 最终用户
engine 引擎
entity 实体
encapsulation 封装
enclosing class 外围类别(与巢状类别 nested class有关)
enum (enumeration) 枚举
enumerators 枚举成员、枚举器
equal 相等
equality 相等性
equality operator 等号操作符
error log 错误日志 (for database)
escape code 转义码
escape character 转义符、转义字符
exclusive lock 排它锁 (for database)
explicit transaction 显式事务 (for database)
evaluate 评估
event 事件
event driven 事件驱动的
event handler 事件处理器
evidence 证据
exception 异常
exception declaration 异常声明
exception handling 异常处理、异常处理机制
exception-safe 异常安全的
exception specification 异常规范
exit 退出
explicit 显式
explicit specialization 显式特化
export 导出
expression 表达式
facility 设施、设备
fat client 胖客户端
feature 特性、特征
fetch 提取
field 字段(java)
field 字段 (for database)
field length 字段长度 (for database)
file 文件
filter 筛选 (for database)
finalization 终结
firewall 防火墙
finalizer 终结器
firmware 固件
flag 标记
flash memory 闪存
flush 刷新
font 字体
foreign key (FK) 外键(FK) (for database)
form 窗体
formal parameter 形参
forward declaration 前置声明
forward-only 只向前的
forward-only cursor 只向前游标 (for database)
fragmentation 碎片 (for database)
framework 框架
full specialization 完全特化
function 函数
function call operator (即operator ()) 函数调用操作符
function object 函数对象
function overloaded resolution函数重载决议
functionality 功能
function template函数模板
functor 仿函数
GAC (global assembly cache) 全局装配件缓存、全局配件缓存
GC (Garbage collection) 垃圾回收(机制)、垃圾收集(机制)
game 游戏
generate 生成
generic 泛化的、一般化的、通用的
generic algorithm通用算法
genericity 泛型
getter (相对于 setter)取值函数
global 全局的
global object 全局对象
global scope resolution operator 全局范围解析操作符
grant 授权 (for database)
granularity 粒度
group 组、群
group box 分组框
GUI 图形界面
GUID (Globally Unique Identifier) 全球唯一标识符
hand shaking 握手
handle 句柄
handler 处理器
hard-coded 硬编码的
hard- 截屏图
hard disk 硬盘
hardware 硬件
hash table 散列表、哈希表
header file头文件
heap 堆
help file 帮助文件
hierarchy 层次结构、继承体系
hierarchical data 阶层式数据、层次式数据
hook 钩子
Host (application)宿主(应用程序)
hot key 热键
hyperlink 超链接
HTML (HyperText Markup Language) 超文本标记语言
HTTP pipeline HTTP管道
HTTP (HyperText Transfer Protocol) 超文本传输协议
icon 图标
IDE (Integrated Development Environment)集成开发环境
IDL (Interface Definition Language) 接口定义语言
identifier 标识符
idle time 空闲时间
if and only if当且仅当
IL (Intermediate Language) 中间语言、中介语言
image 图象
IME 输入法
immediate base 直接基类
immediate derived 直接派生类
immediate updating 即时更新 (for database)
implicit transaction隐式事务 (for database)
incremental update 增量更新 (for database)
index 索引 (for database)
implement 实现
implementation 实现、实现品
implicit 隐式
import 导入
increment operator 增加操作符
infinite loop 无限循环
infinite recursive 无限递归
information 信息
infrastructure 基础设施
inheritance 继承、继承机制
inline 内联
inline expansion 内联展开
initialization 初始化
initialization list 初始化列表、初始值列表
initialize 初始化
inner join 内联接 (for database)
in-place active 现场激活
instance 实例
instantiated 具现化、实体化(常应用于template)
instantiation 具现体、具现化实体(常应用于template)
integrate 集成、整合
integrity 完整性、一致性
integrity constraint完整性约束 (for database)
interprocess communication (IPC)进程间通讯(IPC)
interacts 交互
interface 接口
for GUI 界面
interoperability 互操作性、互操作能力
interpreter 解释器
introspection 自省
invariants 不变性
invoke 调用
isolation level 隔离级别 (for database)
iterate 迭代
iterative 反复的、迭代的
iterator 迭代器
iteration 迭代(回圈每次轮回称为一个iteration)
item 项、条款、项目
JIT compilation JIT编译 即时编译
key 键 (for database)
key column 键列 (for database)
laser 激光
late binding 迟绑定
left outer join 左向外联接 (for database)
level 阶、层例
high level 高阶、高层
library 库
lifetime 生命期、寿命
link 连接、链接
linkage 连接、链接
linker 连接器、链接器
literal constant 字面常数
list 列表、表、链表
list box 列表框
livelock 活锁 (for database)
load 装载、加载
load balancing 负载平衡
loader 装载器、载入器
local 局部的
local object 局部对象
lock 锁
log 日志
login 登录
login security mode登录安全模式 (for database)
lookup table 查找表 (for database)
loop 循环
loose coupling 松散耦合
lvalue 左值
machine code 机器码、机器代码
macro 宏
maintain 维护
managed code 受控代码、托管代码
Managed Extensions 受控扩充件、托管扩展
managed object 受控对象、托管对象
mangled name
manifest 清单
manipulator 操纵器(iostream预先定义的一种东西)
many-to-many relationship 多对多关系 (for database)
many-to-one relationship 多对一关系 (for database)
marshal 列集
member 成员
member access operator 成员取用运算子(有dot和arrow两种)
member function 成员函数
member initialization list成员初始值列表
memberwise 以member为单元…、members 逐一…
memberwise
memory 内存
memory leak 内存泄漏
menu 菜单
message 消息
message based 基于消息的
message loop 消息环
message queuing消息队列
metadata 元数据
metaprogramming元编程
method 方法
micro 微
middleware 中间件
middle tier 中间层
modeling 建模
modeling language 建模语言
modifier 修饰字、修饰符
modem 调制解调器
mole 模块
most derived class最底层的派生类
mouse 鼠标
mutable 可变的
mutex 互斥元、互斥体
multidimensional OLAP (MOLAP) 多维OLAP(MOLAP) (for database)
multithreaded server application 多线程服务器应用程序
multiuser 多用户
multi-tasking 多任务
multi-thread 多线程
multicast delegate 组播委托、多点委托
named parameter 命名参数
named pipe 命名管道
namespace 名字空间、命名空间
native 原生的、本地的
native code 本地码、本机码
Native Image Generator (NGEN)本地映像生成器
nested class 嵌套类
nested query 嵌套查询 (for database)
nested table 嵌套表 (for database)
network 网络
network card 网卡
nondependent name
object 对象
object based 基于对象的
object file 目标文件
object model 对象模型
object oriented 面向对象的
laser 激光
late binding 迟绑定
left outer join 左向外联接 (for database)
level 阶、层例
high level 高阶、高层
library 库
lifetime 生命期、寿命
link 连接、链接
linkage 连接、链接
linker 连接器、链接器
literal constant 字面常数
list 列表、表、链表
list box 列表框
livelock 活锁 (for database)
load 装载、加载
load balancing 负载平衡
loader 装载器、载入器
local 局部的
local object 局部对象
lock 锁
log 日志
login 登录
login security mode登录安全模式 (for database)
lookup table 查找表 (for database)
loop 循环
loose coupling 松散耦合
lvalue 左值
machine code 机器码、机器代码
macro 宏
maintain 维护
managed code 受控代码、托管代码
Managed Extensions 受控扩充件、托管扩展
managed object 受控对象、托管对象
mangled name
manifest 清单
manipulator 操纵器(iostream预先定义的一种东西)
many-to-many relationship 多对多关系 (for database)
many-to-one relationship 多对一关系 (for database)
marshal 列集
member 成员
member access operator 成员取用运算子(有dot和arrow两种)
member function 成员函数
member initialization list成员初始值列表
memberwise 以member为单元…、members 逐一…
memberwise
memory 内存
memory leak 内存泄漏
menu 菜单
message 消息
message based 基于消息的
message loop 消息环
message queuing消息队列
metadata 元数据
metaprogramming元编程
method 方法
micro 微
middleware 中间件
middle tier 中间层
modeling 建模
modeling language 建模语言
modifier 修饰字、修饰符
modem 调制解调器
mole 模块
most derived class最底层的派生类
mouse 鼠标
mutable 可变的
mutex 互斥元、互斥体
multidimensional OLAP (MOLAP) 多维OLAP(MOLAP) (for database)
multithreaded server application 多线程服务器应用程序
multiuser 多用户
multi-tasking 多任务
multi-thread 多线程
multicast delegate 组播委托、多点委托
named parameter 命名参数
named pipe 命名管道
namespace 名字空间、命名空间
native 原生的、本地的
native code 本地码、本机码
Native Image Generator (NGEN)
Ⅳ AIX是一个什么样的系统麻烦给点详细的资料
AIX 全名为(Advanced Interactive Executive),它是IBM 公司的Unix操作系统,
整个系统的设计从网络、主机硬件系统,到操作系统完全遵守开放系统的原则。
下面对AIX 作以介绍。
RS/6000 采用IBM 的UNIX操作系统-AIX作为其操作系统。这是一
个目前操作系统界最成功,应用领域最广,最开放的第二代的UNIX系
统。它特别适合于做关键数据处理(CRITICAL)。
AIX 包含了许多IBM 大型机传统受欢迎的特征,如系统完整性,系统可管理
性和系统可用性。
在 AIX 操作系统上,有许多的数据库和开发工具,用户除了选用已有的应用
软件外,还可以根据各自的需要进行开发。
此外,在AIX 之上,有一组功能强,使用方便的系统管理工具。对于异种平台
互存,互操作有很成熟的解决方案。
由于该 UNIX 的先进的内核技术和最好的开放性,因此,虽然RS/6000
从宣布到今天只有短短的5 年多的时间携慧陪,它已在各行各业有了广泛的运用,
并在1993和1994年连续二年在MIDRANGE商用 UNIX 领域处于第一位。
RISC SYSTEM/6000的操作系统是AIX ,它是性能卓越的、开放的
UNIX,汇集了多年来计算机界在UNIX上的研究成果,以IBM 在计算机
体系结构、操作系统方面40多年极其丰富的经验。最大限度的使用RISC
技术,安装了象AIX 这样的具备工业界实力的UNIX操作系统。
它既可连接SAA 体系结构,又能与非IBM 系统的网络相连,因此,可以
和多数专业银行现有的系统实现互连,这对今后业务系统拓展将带来极大的
灵活性,并降低投资。
AIX 遵循一系列的国际标准:
* IEEE POSIX1004.1-碧碰1990
* X/OPEN 移植指南ISSUE3的基本级(XPG3)
* AES/OS REVISION A (OSF/1 LEVEL 2 资格)
* FIPS 151-1
* AIX的编译器: XLC、C++(可选)、FORTRAN(可选)、PASCAL(可选)、COBOL(可选)
* ADA 的编译器已达到XPG3“成员”级的认可。
* AIX 支持多用户、多任务。
AIX有一些其它特性包括:
AIX 提供了3 种SHELL :SYSTEM V的KORN、BOURNE SHELL和4.3BSDC
SHELL作为可选择的UNIX系统界面;
安全设施满足TCB (Trusted Computing Base)的C2级;
实时处理能力,这对于“面向交易”的应用至关重要(如零售业
和银行等),它使RS/6000 获得极高的响应和吞吐量;
虚拟存储管理,当需要时,可将一些不常用的模块转送至外存,
提高内存的可利用性。
先进的文件系统,使得系统管理更加有效,并提高了数据可靠性
以及完整性。
能兼容Dos 应用程序和数据。
InfoExplorer,快速信息超文本索引系统- 不仅包括文字,而且
对包含声音、图像的索引辩蠢系统,这是个联机的文件接口。包括全部的
超文本的索引和查找,以及面向任务和坐标的多重导引和索引系统。
这个文字及图形索引系统以一个灵活的、基于任务的方式去使用详细
资料及培训资料。
高级系统管理工具(SMIT,System Management Interface Tool)。
提供一级菜单驱动程序,诸如完成软件的安装与设置、设备的设置及
管理、问题的测定、存贮管理等。可以自动地进行I/O 设备设置,
ASCII 终端也可充当系统控制台。在LAN 上可以进行远程系统的安装。
系统工作负载
系统工作负载的完整准确的定义对于预测或理解它的性能是很关键的。在衡量系统性能时,工作负载的不同可能会比 CPU 时钟速度或随机访问存储器(RAM)大小不同带来更多的变化。工作负载的定义不仅必须包含向系统发送的请求的类型和速率,还要包含将要执行的确切软件包和内部应用程序。
包括系统将在后台处理的工作也很重要。例如,如果一个系统包含通过 NFS 加载且由其它系统频繁访问的文件系统,那么处理那些访问很可能是总体工作负载中非常重要的一部分,即使该系统不是正式的服务器也是如此。
已进行标准化从而允许在不同系统之间进行比较的工作负载称为基准程序。但是,很少有实际的工作负载能完全符合基准程序的精确算法和环境。即使是那些最初从实际的应用程序发展而来的行业标准基准程序也已经过简化和均匀化,从而使它们可移植到大量的硬件平台上。使用行业标准基准程序唯一有效的方法是减小将接受严肃评估的候选系统的范围。因此,在尝试理解系统的工作负载和性能时不应该只依赖基准测试结果。
可以将工作负载分为以下类别:
多用户
由多个用户通过各自的终端提交的工作组成的工作负载。通常,这种工作负载的性能目标有两种可能,即在保留指定的最坏情况响应时间条件下最大化系统吞吐量,或者对于固定不变的工作负载获得尽可能快的响应时间。
服务器
由来源于其它系统的请求组成的工作负载。例如,文件服务器的工作负载主要是磁盘读写请求。它是多用户工作负载(加上 NFS 或其它 I/O 活动)的磁盘 I/O 部分,所以适用同样的目标,即在给定的相应时间限制下最大化吞吐量。其它的服务器工作负载由诸如数学计算密集的程序、数据库事务、打印机作业之类的项组成。
工作站
由单独的用户通过键盘提交工作和在该系统的显示器上接收结果组成的工作负载。通常这种工作负载的最高优先级性能目标是使用户请求的响应时间最短。
性能目标
在定义了系统必须处理的工作负载后,可以选择性能标准并根据这些标准设定性能目标。计算机系统的总体性能标准是响应时间和吞吐量。
响应时间是提交请求和返回该请求的响应之间使用的时间。示例包括:
数据库查询花费的时间
将字符回显到终端上花费的时间
访问 Web 页面花费的时间
吞吐量是对单位时间内完成的工作量的量度。示例包括:
每分钟的数据库事务
每秒传送的文件千字节数
每秒读或写的文件千字节数
每分钟的 Web 服务器命中数
这些度量之间的关系很复杂。有时可能以响应时间为代价而得到较高的吞吐量,而有时候又要以吞吐量为代价得到较好的响应时间。在其它情况下,一个单独的更改可能对两者都有提高。可接受的性能基于合理的吞吐量与合理的响应时间相结合。
在规划或调谐任何系统中,当处理特定的工作负载时一定要保证对响应时间和吞吐量都有明确的目标。否则,有可能存在一种风险,那就是您花费了分析时间和物力改善的仅仅是系统性能中一个次要的方面。
程序执行模型
为了清楚地检查工作负载的性能特征,需要有一个动态而非静态的程序执行模型,如下图所示。
图 1. 程序执行层次结构. 该图形以一个三角形为基础。左边代表和右边适当的操作系统实体匹配的硬件实体。程序必须从存储在磁盘上的最低级别开始,到最高级别的处理器运行程序指令。例如,从底部到顶部,磁盘硬件实体容纳可执行程序;实内存容纳等待的操作系统线程和中断处理程序;转换后备缓冲区容纳可分派的结程;高速缓存中包含当前分派的线程和处理器流水线;而寄存器中包含当前的指令。
程序为了运行必须沿着硬件和操作系统层次结构并行向上前进。硬件层次结构中的每个元素都比它下面的元素稀少和昂贵。不仅程序不得不为了每个资源和其它程序竞争,而且从一个级别过渡到下一级别也要花时间。为了理解程序执行动态,需要对层次结构中每一级别有个基本的了解。
硬件层次结构
通常,从一个硬件级别移动到另一级别所需要的时间主要由较低级别的等待时间(从发出请求到接受到第一批数据的时间)组成。
固定磁盘
对于一个在单机系统中运行的程序而言,最慢的操作是从磁盘上取得代码或数据,这是因为有下列原因:
必须引导磁盘控制器直接访问指定的块(排队延迟)。
磁盘臂必须寻道以找到正确的柱面(寻道等待时间)。
读/写磁头必须等候直到正确的块旋转到它们下面(旋转等待时间)。
数据必须传送到控制器(传送时间)然后传递到应用程序中(中断处理时间)。
除了程序中显式的读或写请求以外,还有许多原因导致磁盘操作缓慢。频繁的系统调谐活动证明是不必要地跟踪了磁盘 I/O。
实内存
实内存通常称为随机存取存储器或 RAM,它比磁盘速度快,但每个字节的开销非常昂贵。操作系统尽量只把当前使用的代码和数据保存在 RAM 中,而把任何额外的内容存储在磁盘上,或者决不首先把它们带入 RAM 中。
然而,RAM 的速度不一定比处理器快。通常在硬件意识到 RAM 访问需求与处理器可使用数据或指令的时间之间,会出现许多处理器周期的 RAM 等待时间。
如果要访问存储到磁盘上(或者尚未调进)的某一虚拟内存页,则会产生一个缺页故障,并且程序的执行暂挂直到该页从磁盘读取。
转换后备缓冲区(TLB)
使程序员不会受限于系统的物理局限性的方法是实现虚拟内存。程序员在设计和编写程序时认为内存非常大,系统将负责将程序中指令和数据的虚拟地址转换成需要用来从 RAM 取得的指令和数据的实际地址。因为这个地址转换过程可能很费时,系统将最近访问过的虚拟内存页的实际地址保存在一个叫转换后备缓冲区(TLB)的高速缓存中。
只要运行中的程序继续访问程序和数据页中的一小部分,则完整的从虚拟到实际页地址的转换过程就不需要在每次 RAM 访问的时候都重做一次。当程序试图访问的虚拟内存页没有 TLB 入口(即 TLB 未命中)时,则需要大量的处理器周期(即 TLB 未命中等待时间)来进行地址转换。
高速缓存
为了将程序必须经历的 RAM 等待时间减到最小,系统为指令和数据组织了高速缓存。如果所需的指令和数据已在高速缓存中,则产生高速缓存命中,处理器就可在下一个周期立刻使用该指令或数据。否则产生高速缓存未命中,伴随有 RAM 等待时间。
在某些系统中,有两到三级高速缓存,通常称它们为 L1、L2 和 L3。如果一个特殊的存储器引用导致 L1 未命中,则检查 L2。如果 L2 产生未命中,则引用转至下一个级别,要么是 L3(如果存在),要么是 RAM。
高速缓存的大小和结构根据型号的不同而有不同,但是有效使用它们的原理是相同的。
流水线和寄存器
流水线型超标量体系结构使得在某些情况下可以同时处理多个指令。大批的通用寄存器和浮点寄存器使得可以将相当多的程序数据保存在寄存器中,而不需要频繁存储和重新装入。
可以设计优化编译器最大限度地利用这些能力。当生成产品程序时,无论程序有多小编译器的优化函数都应该能使用。Optimization and Tuning Guide for XL Fortran, XL C and XL C++ 中描述了如何将程序调谐到最大性能。
软件层次结构
程序为了运行还必须逐步执行软件层次结构中的一系列步骤。
可执行程序
当请求运行某个程序时,操作系统执行一些操作以将磁盘上的可执行程序转换成运行中的程序。首先,必须扫描当前 PATH 环境变量中的目录以查找程序的正确副本。然后,系统装入程序(不要和 ld 命令混淆,该命令是个绑定程序)必须解析出从程序到共享库的任何外部引用。
为了表示用户的请求,操作系统将创建一个进程或一组资源(例如专用虚拟地址段),任何运行中的程序都需要该进程或资源。
操作系统也会在该进程中自动创建一个单独的线程。线程是一个单独程序实例的当前执行状态。在 AIX 中,对处理器和其它资源的访问是根据线程来分配而不是根据进程分配的。应用程序可在一个进程中创建多个线程。这些线程共享由运行它们的进程所拥有的资源。
最后,系统转移到程序的入口点。如果包含入口点的程序页还不在内存中(可能因为程序最近才编译、执行和复制),则由它引起的缺页故障中断将该页从它的后备存储器中读取出来。
中断处理程序
通知操作系统发生了外部事件的机制是中断当前运行线程并将控制转移到中断处理程序。在中断处理程序可以运行之前,必须保存足够的硬件状态以保证在中断处理完成后系统能恢复线程的上下文。新调用的中断处理程序将经历在硬件层次结构中上移带来的所有延迟(除了页面故障)。如果该中断处理程序最近没有运行过(或者中间程序很节约时间),那么它的任何代码或数据不太可能保留在 TLB 或高速缓存中。
当再次调度已中断的线程时,它的执行上下文(如寄存器内容)逻辑上将得到恢复,以便它可以正确运行。然而,TLB 和高速缓存的内容必须根据程序的后继请求重新构造。因此,作为中断的结果,中断处理程序和被中断的线程都可能遇到大量的高速缓存未命中和 TLB 未命中延迟。
等待线程
无论何时只要执行的程序发出不能立刻满足的请求,例如同步 I/O 操作(显式的或缺页故障的结果),该线程就会处于等待状态,直到请求完成为止。除了请求本身所需的时间以外,通常这还会导致另外一些 TLB 和高速缓存的延迟时间。
可分派线程
当某个线程可分派但不在运行时,它不能完成任何有用的事情。更糟的是,正运行的其它线程可能导致重新使用该线程的高速缓存线路并将实内存页收回,从而引起最终分派时出现更多的延迟。
当前已分派的线程
调度程序选择对使用处理器有强烈要求的线程。在‘CPU 调度程序性能概述’中讨论了影响该项选择需要考虑的事项。当分派线程后,处理器的逻辑状态恢复成线程中断时有效的状态。
当前的机器指令
如果未出现 TLB 或高速缓存未命中的情况,绝大多数机器指令都能在单个处理器周期内执行。相比之下,如果程序迅速转换到该程序的不同区域且访问大量不同区域中的数据,就会产生较高的 TLB 和高速缓存未命中率,执行每条指令使用的平均处理器周期数(CPI)可能大于 1。这种程序被认为有较差的局域性引用能力。它也许在使用必需的最少指令数来做这个工作,但是要消耗大量不必要的周期数。部分是因为指令数和周期数之间相关性较弱,检查程序列表来计算路径长度不会再直接产生一个时间值。由于较短的路径通常比较长的路径快,所以速率根据路径长度率的不同而明显不同。
编译器用完善的方法重新安排代码从而将程序执行所需的周期数降到最小。追求最佳性能的程序员必须首先致力于确保编译器具有有效优化代码所需的全部信息,而不是试图事后批评编译器的优化技术(请参阅‘预处理器和编译器的有效使用’)。优化有效性的实际衡量标准是可信工作负载的性能。
系统调谐
在有效实现应用程序后,系统总体性能的进一步提高就成了系统调谐考虑的一个问题。系统级调谐包含的主要组件有:
通信 I/O
取决于工作负载的类型与通信链路的类型,可能需要调谐以下的一个或多个通信设备驱动程序:TCP/IP 或 NFS。
固定磁盘
逻辑卷管理器(LVM)控制文件系统的位置和磁盘上调页空间,这可能会极大地影响系统经历的寻道等待时间。磁盘设备驱动程序控制执行 I/O 请求所遵从的顺序。
实内存
虚拟内存管理器(VMM)控制空闲实内存帧的池,并决定何时从何处取用帧来补充该池。
运行线程
调度程序确定接下来由哪个可调度实体接收控制权。在 AIX 中,可调度实体是线程。请参阅‘线程支持’。
性能调谐过程介绍
性能调谐主要是资源管理问题和正确的系统参数设置。调谐工作负载和系统以有效利用资源由下列步骤组成:
识别系统中的工作负载
设置目标:
确定如何评测结果
量化目标和区分目标的优先级
识别限制系统性能的关键资源
最小化工作负载的关键资源要求:
如果可选择的话,使用最适当的资源
减少个别程序或系统函数对关键资源的要求
结构化资源的并行使用
修改资源的分配以反映优先级
更改个别程序的优先级或资源限制
更改系统资源管理参数的设置
重复步骤 3 到步骤 5 直到满足目标(或者资源饱和)
如果必要的话,使用其它资源
在系统性能管理的每个阶段都有相应的工具(参阅附录 A ‘监视和调谐命令和子例程’)。这些工具有些可从 IBM 得到;另一些是第三方产品。下图说明在一个简单的 LAN 环境中性能管理的各阶段。
图 2. 性能阶段. 该图用五个加权的圆圈说明对系统性能调谐的各步骤:规划、安装、监视、调谐和扩展。每个圆圈代表系统处于不同的性能状态:空闲、不均衡、均衡和过载。实质上就是扩展一个过载的系统、调谐系统直到它是均衡的、监视不均衡的系统并且在需要扩展时安装更多的资源。
识别工作负载
系统执行的所有工作都必须能够识别。特别是在 LAN 连接的系统中,通过系统的用户之间仅有的非正式协议,可以轻松地开发出一组复杂的交叉安装的文件系统。这些文件系统必须被识别出来并作为任何调谐活动的一部分进行考虑。
对于多用户工作负载,分析员必须量化一般情况和高峰期的请求率。确定用户实际与终端交互时间的实际比例也是很重要的。
该识别阶段中的一个要素是决定必须对生产系统进行评估和调谐活动,还是在另一系统上(或“切换”)用实际工作负载的模拟型式来完成评估和调谐活动。分析员必须针对非生产环境的灵活性权衡来自于生产环境结果的较大可靠性,分析员可在非生产环境中进行试验,当然试验所冒的风险是性能下降或更糟。
设置目标的重要性
虽然可以根据可测数量设置目标,但实际希望的结果往往带有主观性,比如令人满意的响应时间。进一步讲,分析员必须抵挡住调谐可测量的东西而不是对他而言是重要东西的诱惑。如果没有系统提供的评估能符合所要求的改进,那么就必须对该评估进行设计。
量化目标最有价值的方面不是选择达到的数字,而是对(通常)多个目标的相对重要性进行公开判定。如果这些优先级没有事先设定且不是每个相关的人都理解的话,分析员在没有进行频繁咨询之前不能作出任何折衷的决定。分析员还容易对用户的反应或管理性能中一些已经被忽略的方面而感到吃惊。如果系统的支持和使用跨过了组织的边界,您可能需要供应商和用户之间的书面服务级协议,可确保对性能目标和优先级有一个清楚而共同的理解。
识别关键资源
通常,给定工作负载的性能可由一两种关键系统资源的可用性和速度决定。分析员必须正确识别出那些资源,否则会冒险陷入无休止的尝试出错操作。
系统具有物理资源和逻辑资源。关键的物理资源通常比较容易识别,因为较多的系统性能工具可用来评估物理资源的利用率。通常最影响性能的物理资源如下:
CPU 周期
内存
I/O 总线
不同的适配器
磁盘臂
磁盘空间
网络访问
逻辑资源不太容易识别。逻辑资源通常是对物理资源进行分区的编程抽象。进行分区的目的是共享和管理物理资源。
构建于其上的物理资源和逻辑资源的一些示例如下:
CPU
处理器时间片
内存
页面帧
堆栈
缓冲区
队列
表
锁和信号量
磁盘空间
逻辑卷
文件系统
文件
分区
网络访问
会话
信息包
通道
了解逻辑资源和物理资源是很重要的。因为缺少逻辑资源线程可能阻塞,就像因为缺少物理资源而阻塞一样,扩展下层物理资源未必能保证创建附加的逻辑资源。例如,考虑使用 NFS 块 I/O 守护程序 biod。客户机上的一个 biod 守护程序要求处理每个暂挂的 NFS 远程 I/O 请求。因此,biod 守护程序的数量限制了能同时运行的 NFS I/O 操作的数量。当缺少 biod 守护程序时,系统检测会指示 CPU 和通信链路只使用了很少一部分。您可能有系统未充分利用(并且很慢)的假象,事实上这时是因为缺少 biod 守护程序从而限制了其余的资源。biod 守护程序使用处理器周期和内存,但您不能简单地通过添加实内存或将它转移到一个更快的 CPU 上来修正这个问题。解决方案是创建更多的逻辑资源(biod 守护程序)。
在应用程序开发过程中可能不经意间创建逻辑资源和瓶颈。传递数据或控制设备的方法可以有效地创建一个逻辑资源。当偶然创建这样的资源时,通常没有工具可监视它们的使用,也没有接口控制它们的分配。它们的存在可能不会引起重视,直到某个特定性能问题出现时就会突出它们的重要性。
最小化关键资源要示
下面讨论在三个级别上考虑最小化工作负载的关键资源要求。
使用适当的资源
决定在一个资源上使用另一个资源时应该理智地考虑并且头脑中要有明确的目标。在应用程序开发过程中有一个选择资源的示例,即通过增加内存消耗来减少 CPU 的消耗来达到一个平衡。用于演示资源选择的公共的系统配置决策为:是将文件放置在单独的本地工作站上,还是放置在远程服务器上。
减少关键资源的要求
对于本地开发的应用程序,可用多种方法检查程序以便其更有效地执行相同的功能或除去不需要的功能。在系统管理级别上,争用关键资源的低优先级工作负载可以移动到其它系统中、在其它时间运行或由“工作负载管理器”控制。
结构化资源的并行使用
因为工作负载需要运行多个系统资源,从而可以利用这样的事实,即资源是独立的且可以并行使用。例如,操作系统预读算法检测到程序在顺序访问文件的事实,因此它调度并行执行的其它顺序读取操作,同时应用程序还处理先前的数据。并行也用于系统管理。例如,如果某个应用程序同时访问两个或多个文件且如果同时访问的这些文件存放在不同的驱动器上,那么添加一个额外的磁盘驱动器可能会提高磁盘 I/O 的速率。
资源分配优先级
操作系统提供了一些方法来区分活动的优先级。有些在系统级别上设置,比如磁盘调步。其它的例如进程优先级可由单个用户设置以反映连接到特定任务上的重要性。
重复调谐步骤
性能分析的一个公认的真理是接下来总有瓶颈出现。减少某个资源的使用意味着另一资源限制了吞吐量或响应时间。例如,假设我们的系统中有下列的利用率级别:
CPU:90% 磁盘:70% 内存:60%
这个工作负载是 CPU 受限的。如果成功的调谐工作负载使得 CPU 负载从 90% 降到 45%,则可望在性能上有两倍的改善。不幸的是现在的工作负载是 I/O 受限的,它有下列的近似利用率:
CPU:45% 磁盘:90% 内存:60%
改善后的 CPU 利用率允许程序立刻提交磁盘请求,但接下来我们会受到由磁盘驱动器的容量施加的限制。性能改善也许是 30% 而不是预期的 100%。
总是存在一个新的关键资源。重要的问题是使用手边的资源是否已经满足性能目标。
注意: 用 vmtune、schedtune 和其它调谐命令产生的不正当系统调谐可能导致意外的系统行为,例如降低系统或应用程序的性能或系统暂停。更改仅应在性能分析识别出瓶颈时才适用。
注:
对于性能相关的调谐设置,不存在什么一般建议。
应用额外的资源
在前述所有的方法都用尽后如果系统性能仍不能满足它的目标,则必须增强或扩展关键资源。如果关键资源是逻辑资源且下层物理资源足够,则无需额外代价就可以扩展逻辑资源。如果关键资源是物理资源,分析员必须研究一些额外的问题:
必须增强或扩展关键资源到什么程度才可以终止瓶颈?
系统性能会满足它的目标吗?或另外的资源会首先饱和吗?
如果有一串关键资源的话,增强或扩展所有这些资源或与另一系统划分当前工作负载是否更节省成本呢?
性能基准
当试图比较不同环境中给定软件的性能时,常会遇到许多可能的错误,一些是技术上的,一些是概念上的。本节包含主要的提示信息。本书其它各节讨论评测过去和特定处理时间的不同方法。
评测处理系统调用需要花费的时间(挂钟)时,需要获取一个由下列内容组成的数字:
执行正运行服务的指令所需要的确切时间
处理器等待内存中的指令或数据时延迟的不同时间(也就是说,高速缓存和 TLB 不命中的代价)
在调用开头和结束访问时钟所需要的时间
由周期性事件如系统定时器中断所消耗的时间
由或多或少的随机事件消耗的时间,如 I/O
为了避免报告一个不精确的数字,常常要求多次评测工作负载。因为所有的外部的因素都会增加处理时间,典型的评估集有一个曲线的形式
Ⅳ 什么是QT软件
Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。
Qt既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。
2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。
2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整。
(5)aix插件云编译器测试版扩展阅读
优点:
1、优良的跨平台特性。
Qt支持下列操作系统:Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX。
Digital UNIX (OSF/1、Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390和QNX等。
2、面向对象。
Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。
3、丰富的API。
Qt包括多达250个以上的C++类,还提供基于模板的collections、serialization、file、I/O device、directory management和date/time类。甚至还包括正则表达式的处理功能。
4、支持2D/3D图形渲染,支持OpenGL。
Ⅵ unix下C编译器版本如何查看
常用的编译器有gcc, clang, c-compiler, xlc(AIX)等。一般他们会绑定到cc(软连接), 所以你可以查看下cc指向哪个连接,如果遵循GNU语法,那么看版本就是cc --version. 一个系统可以装多个版本的多种编译器,那么就可以看下$PATH变量中优先哪个生效?当然还有其他编译器,如intel 厂商的。可以看man XXXX 然后搜 version.