20135210——信息安全系统设计基础第十周学习总结

Who命令

  who 读取想要的信息到存储器中,再用标准输出函数打印到屏幕上,关闭文件。

  查看登录前的用户  -who am i;

  列出登录的用户   -who或-w。

Unix系统中的错误处理

  • unix风格:例如fork函数和外套函数,返回值既包括错误代码,又包括有用的结果。

    if((pid = wait(NULL))<0)
    {
        fprintf(stderr,"wait error:%s\n",strerror(errno));//将errno设置为指向错误原因的代码
        exit(0);
    }
    
  • Posix风格:例如pthread,函数只返回调用成功(0)或者失败(非0),任何有用的信息都返回在通过调用引用进来的参数中。
  • DNS风格:gethostbyname和gethostbyaddr检索NDS(域名系统)库;它们在错误的时候会返回NULL,并设置全局变量h_errno。
  • 错误处理包装函数
    • unix风格

      pid_t Wait(int *status)
      {
          pid_t pid;
          if(pid = wait(status)<0)
              unix_error("wait error");
          return pid;
      }
      
    • Posix风格
      void Pthread_detach(pthread_t tid)
      {
          int rc;
          if(rc=pthread_detach(tid) != 0)
              posix_error(rc,"Pthread_detach error");
      }
      
    • DNS风格
      struct hostent *Gethostbyname(const char *name)
      {
          struct hostname *p;
          if((p = gethostbyname(name)) == NULL)
              dns_error("Gethostbyname error");
          return p;
      }

错误处理包装函数

  •  Unix风格:成功时返回void,返回错误时包装函数打印一条信息,然后退出。
  •  Posix风格:成功时返回void,错误返回码中不会包含有用的结果。
  •  DNS风格:失败时返回Null指针,并且设置全局变量h_errno。

共享文件

  •   描述符表:每个进程一张独立的表
  •   文件表:所有进程共享,存放文件位置,引用计数和指向v-node表的指针
  •   v-node 表:所有进程共享,存放文件信息

标准I/O

标准I/O库将一个打开的文件模型化为一个流,一个流就是一个指向FILE类型的结构的指针。

  • 总述:这个库提供了unixI/O较高级别的替代。
  • 类型:
    • 打开和关闭文件的函数(fopen和fclose);
    • 读和写字节的函数(fread和fwrite);
    • 读和写字符串的函数(fgets和fputs)
  • 流的应用: 一个流就是指向一个FILE类型的结构的指针(比如,每有一个ASNI C文件打开,都会同时打开STDIN,STDOUT,STDERR三个流)。
    • 含义:流是对文件描述符和流缓冲区的抽象。(流缓冲区的目的和RIO类似,就是减少开销较高的unix系统调用的数量)

ls命令

ls -l 以长格式的形式查看当前目录下所有可见文件的详细属性

ls -a 列出的内容包含以“.”开头的文件

ls -lu 最后访问时间

ls -s 以块为单位的文件大小

ls -t 按时间排序

ls -F 显示文件类型

时间: 2024-12-29 04:45:26

20135210——信息安全系统设计基础第十周学习总结的相关文章

20135213——信息安全系统设计基础第十周学习总结

第八章异常控制流 一.学习目标 1. 了解异常及其种类2. 理解进程和并发的概念3. 掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,4.  理解数组指针.指针数组.函数指针.指针函数的区别5. 理解信号机制:kill,alarm,signal,sigaction6. 掌握管道和I/O重定向:pipe, dup, dup2 二.学习资源 1. 教材:第八章<异常控

信息安全系统设计基础第十周学习总结-吕松鸿

第八章 异常控制流 平滑:指在存储器中指令都是相邻的. 突变:出现不相邻,通常由诸如跳转.调用.和返回等指令造成. 异常控制流ECF:即这些突变. 关于ECF: 1.ECF是操作系统用来实现I/O.进程和虚拟存器的基本机制 2.应用程序通过使用一个叫做陷阱或者系统调用的ECF形式,向操作系统请求服务 3.ECF是计算机系统中实现并发的基本机制 4.软件异常机制——C++和Java有try,catch,和throw,C中非本地跳转是setjmp和longjmp 第一节 异常 异常是异常控制流的一种

信息安全系统设计基础第十周学习总结

part1 1.如何查看当前登录的用户? -who am i 如何列出登录的用户? -who或-w 如何注销掉用户? -pkill -kill -t 用户名或-skill -KILL -v 用户名 2.目录操作 ①如何查看当前工作目录? -pwd ②如何改变当前工作目录进入下一级目录? -cd 下一级/ ③如何返回当前工作目录的父目录? -cd .. ④如何返回根目录? -cd / <<在Linux的目录结构中“.”表示当前目录,“..”表示当前目录的父目录,“/”表示根目录. ⑤当用户以个人

20135234马启扬-——信息安全系统设计基础第十周学习总结

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h> #define BUFFERSIZE 4096#define COPYMODE 0644 void oops(char *, char *); int main(int argc, char *argv[]){ int in_fd, out_fd, n_chars; char buf[BUFFERSIZE];

20135210——信息安全系统设计基础第十四周学习总结

第九章 虚拟存储器 虚拟存储器是硬件异常.硬件地址翻译.主存.磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的.一致的和私有的地址空间. 通过一个很清晰的机制,虚拟存储器提供了三个重要的能力: (1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效地使用了主存. (2)它为每个进程提供了一致的地址空间,从而简化了存储器管理. (3)它保护了每个进程的地址空间不被其他进程破坏. 9.1 物理和虚拟寻址

2017-2018-1 20155228 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155228 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 常见的存储技术 RAM 随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的.静态 RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多.SRAM用来作为高速缓存存储 器,既可以在CPU芯片上,也可以在片下.DRAM用来作为主存以及图形系统的帧缓冲 区.典型地,一个桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百或几千兆 字节. SRAM将每

# 2018-2019-1 20165225《信息安全系统设计基础》第一周学习总结

2018-2019-1 20165225<信息安全系统设计基础>第一周学习总结 教材学习内容总结 vim的用法 命令行输入vimtutor即可随时查看: linux系统下文件的转换: gcc hello.c => 编译hello.c源程序,出现a.out文件 gcc -o hello hello.c => 编译hello.c源程序,出现hello文件 od -tc -tx1 hello.c => 按单字节查看文件内容 gcc -E hello.c -o hello.i =&g

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E