1 Linux Unix概论

操作系统相关概念 #

什么是操作系统

  • 最基础的系统软件

    • 计算机软硬件资源的管理与控制
    • 软件涵盖程序、文档、数据
    • 硬件涵盖处理器、内存、外存及各类设备
  • 硬件资源及管理操作抽象示例

    • 磁盘操作:把数据处理结果写到磁盘,也就是从内存拷贝信息到磁盘
    • 分解动作:
        1. 内存数据块拷贝到设备缓冲区 load(addrBlock, length, bufDev);
        1. 磁盘设备执行寻道操作 seek(dev, trackNo);
        1. 设备缓冲区写出到指定扇区 out(bufDev, sectorNo);
void write(char *addrBlock, int length, int dev, int trackNo, int sectorNo){
    load(addrBlock, length, bufDev);
    seek(dev, trackNo);
    out(bufDev, sectorNo)
}

write(addrBlock, 8, dev, 21532);
fprintf(fd, "%d", data); + fseek(fd, offset, whence);

什么是操作系统

  • 最基础的系统软件
    • 计算机软硬件资源的管理与控制
    • 软件涵盖程序、文档、数据
    • 硬件涵盖处理器、内存、外存及各类设备
  • 用户使用计算机的基本操作环境
    • 命令接口、图形化用户接口
  • 各类程序运行的基础环境
    • 程序接口:系统调用接口、函数库

操作系统内核

  • 实现操作系统的核心功能
  • 计算机系统的启动初始化及电源管控
  • 处理器、内存、外设等硬件的管理与控制
  • 文件系统的支持

操作系统的基本特征及支撑机制

  • 并发
    • 注意与并行概念的区别
    • 进程、线程、同步互斥及通信机制
  • 共享
    • 硬件共享:处理器、内存、外设
    • 软件共享:程序、数据
    • 共享与保护机制结伴而行
  • 虚拟与异步

操作系统发展历程 #

  • 单道批处理系统
    • 监督程序(FMS Fortran Monitor System 、IBSYS)
  • 多道批处理系统
    • 多道程序设计技术
  • 分时操作系统
    • CTSS(Compatible Time Sharing System)
    • 麻省理工学院(1962 年)
    • 时钟中断、时间片轮转调度、交换技术
  • 实时操作系统
    • 实时调度算法、可靠性
  • 嵌入式操作系统
    • 软硬件合体、微型化、专业化
  • 网络操作系统
    • 网络传输功能支持
    • 分布式操作系统、网格操作系统
    • 云操作系统、集群操作系统

UNIX/Linux 操作命令入门 #

UNIX/Linux 系统启动及配置

Shell 命令分隔/连接符

  • 管道线| (左侧命令输出作为右侧命令输入)
    • ls -l | wc -l
  • ||(左侧命令执行失败时执行右侧命令)
    • rmdir /home/zgs || echo “Failed!”
  • &&(左侧命令执行成功时执行右侧命令)
    • rmdir /home/zgs && echo “Success!”
  • &(后台执行左侧命令)
    • gas BJTU_OS.s &
  • 输入输出重定向:命令 [>、<、»、«] 文件