计算机系统
计算的基础是指令集。通信的基础是协议集。标准是信息技术的基础。
目录
计算机系统
计算系统(computing system)由计算硬件和计算机软件部分组成。计算机是负责信息的存储,传输与处理的基本设备。计算机硬件的核心是处理器,计算机软件主要有操作系统、数据库等。
个人电脑(Personal Computer,简称PC)是个人使用的计算机系统。Xerox Alto是第一台个人电脑,由Xerox公司的Charles P. Thacker于1973年研发。
计算机硬件
基本设计原则
- 设计原则:计算机硬件的组织方式,如计算、存储、通信之间的模式,应该和功用相适应。
计算机组成(Components)
计算机硬件的主要组件(Components)有中央处理器(Central Processing Unit, CPU)、主存储器(Main Memory)、磁盘(Disk)、输入输出外设设备(IO)、传输总线设备(Bus)等等。
计算机存储(Memory Hierarchy)
寄存器 Register
缓存Cache
主存RAM(Main memory)
固态盘SSD(Solid-state disk)
磁盘Disk (magnetic)
处理器架构(CPU)
计算机软件
软件开发编程:Programming_Program
常用软件包括:操作系统、数据库、其他工具软件。
操作系统(OS)
管理计算机硬件的软件。
操作系统的向下兼容原则,或称为向后兼容(backward compatibility)。
- Linux :
发行版 Ubuntu Linux, CentOS Linux,
- Windows :
微软公司推出的操作系统, 如Windows 10。
- Mac OS
苹果公司推出的操作系统,如Leopard。
数据库(DB)
数据是描述客观事物的属性的量化值,数值与数值之间有联系,又称为关系(relations)。
- 数据库(database)是管理数据的系统软件。SQL是结构化查询语言的缩写。
关系型数据库是目前数据管理中最常用的软件。
- 关系型数据库
微软SQL server,oracle 数据库,MySQL等等。
- NoSQL ->NewSQL
随着大数据的出现与新应用的需求,出现了一大批弱化关系型数据库的内在限制的新型的数据管理软件。
这些新型的数据管理系统被称为NoSQL或NewSQL。
其他工具软件
办公软件office套件。
软件工程
规划开发软件的项目管理,包括软件需求分析、软件设计、软件开发和实现、软件测试等环节。
Web应用开发
JavaScript
PHP
移动应用开发
Android平台开发
开发环境 Android Studio 23+
iOS平台开发
开发环境Xcode
Swift编程语言
参考文献
编程语言
- Google C++ Style Google C++ Style
- PEP 8 - Style Guide for Python Code PEP_8
- David Flanagan, JavaScript: The definitive guide: Activate your web pages. " O'Reilly Media, Inc.", 2011.
- Weiss, Mark Allen, Data structures and algorithm analysis in Java, Addison-Wesley Longman Publishing Co., Inc., 1998.
- Bjarne Stroustrup, The C++ programming language. Pearson Education, 2013.
计算机应用基础
- John L. Hennessy, and David A. Patterson. Computer architecture: a quantitative approach. Elsevier, 2011.
- Neil Matthew, and Richard Stones. Beginning linux programming. John Wiley & Sons, 2011.
- Miguel Grinberg, Flask Web Development: Developing Web Applications with Python. O'Reilly Media, Inc., 2014.
软件开发
- Shore, James. The art of agile development. " O'Reilly Media, Inc.", 2007.
参考课程
- 斯坦福大学:CS101 - Introduction to Computing Principles
- CS 4 HS Summer Workshop : CS for High School