计算机基础知识

目录

一、现代计算机体系结构

1.硬件的组成部分

2.软件的组成部分

二、操作系统相关概念

三、其他概念

参考资料

一、现代计算机体系结构

1.硬件的组成部分

①中央处理单元CPU:由运算器、控制器(控制协调各部分工作)、寄存器组成

      CPU指令,指令集:

                  特权指令:操作系统才有权限运行特权指令;

                  普通指令:

                 

                  高级语言->obj->汇编语言->机器语言

CPU架构类型:

            x86, x64, ARM

            早些时候流行过的CPU架构

            m68000, m68k

            power(IBM,第一个多核CPU),powerpc(简装版的power)

            ultrasparc ( SUM ), alpha, 安腾

②总线bus:实现各部件之间的数据交换

③编址存储设备memory:32位可寻址4G内存

      快慢:单位时间内电平可以变化的次数

      问题:缓存(read ahead预读)为什么可以加速CPU工作呢?

            程序运行时具有空间和时间局部性

④输入输出设备IO:与外界交互

      最常见的IO设备:磁盘、网卡

2.软件的组成部分

①操作系统:

应用程序程序员接口API:

                             语言库:C、C++、Java等

                             系统调用接口(至内核读入口点)

                       内核:

                                   文件管理

                                   进程间通信

                                   进程管理

                                   CPU调度程序

                                   主存与辅助存储器管理

                       设备驱动程序:鼠标、键盘、打印机等驱动程序

②应用程序用户接口AUI:

应用程序:编译器、字处理软件、电子表格软件、网页浏览器

Shell

二、操作系统相关概念

      软件程序

屏蔽了底层硬件细节,消除底层差异,提供通用操作接口给程序员,简化了程序员的工作

      通用目的

            硬件驱动

            进程管理

            内存管理

            网络管理

            安全管理

P.S. 普通程序要运行特权指令,让操作系统代理完成,操作系统接收请求(系统调用),底层硬件功能被封装成各种系统调用

      编程层次:

      硬件规格:hardware specifiacation(写操作系统时面向硬件规格(机器语言或汇编语言)直接变成)

      系统调用:System Call( Syscall )

      库调用:library call

e.g. mkdir /tmp/test

面条(库调用)--面粉(系统调用(->内核->特权))-- 麦种(硬件规格)

在一定程度上,操作系统类似于一个代理人

程序启动:开机启动+人为启动

      程序运行模式:

            用户空间:user space, us

            内核空间:system space

      UI用户接口

            GUI: Graphic User Interface(图形界面)

            CLI: Command Line Interface(命令行接口)

            用户接口程序和内核打交道(通过系统调用),

      ABIApplication Binary Interface运行接口(可支持可执行程序的格式)

      终端用户通常面对ABI

      APIApplication Programming Interface(应用编程接口)

跨平台编译

三、其他概念

POS: Portable Operating System可移植操作系统规范

            POSIX

                  定义API: 编程接口

 

      运行程序格式:

            Windows: EXE, dll(dynamic link library动态链接库)

            Linux: ELF, so(shared object共享对象)

 

            程序:指令+数据

                  指令:只读

                  数据:读写

            程序:算法+数据结构

            库调用,系统调用:允许被调用的程序;e.g.  malloc(), free()

                  节约存储空间

            编程语言:

                  汇编语言:微码编程

                       系统中某些与硬件相关的特有代码、驱动程序开发;

                  高级语言C, C++:             e.g. MySQL

                       系统级应用、驱动程序

                  高级应用java, python, php:    虚拟机(垃圾回收)—库调用

                       应用程序                      e.g. web页面

参考资料:

①马哥随堂笔记

②《鸟哥的Linux私房菜-基础篇》

注:诚恳欢迎读者对本文提出批评意见,若发现存在错误,我定第一时间修改。如果读者觉得文章对您有帮助,欢迎点赞鼓励一下哟٩(๑❛ᴗ❛๑)۶。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值