zoukankan      html  css  js  c++  java
  • 2018-2019-1 20165219 《信息安全系统设计基础》第七周学习总结

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

    教材学习内容总结

    异常:是控制流中的突变,一部分由硬件实现,一部分由操作系统实现,用来响应处理器状态中的某些变化。

    异常的类别:

    中断:是一步发生的,是来自处理器外部的I/O设备的信号的结果。

    陷阱:是有意的异常,是执行一条指令的结果。

    故障:由错误情况引起,可以被故障处理程修正。

    终止:是不可修复的致命错误导致的。

    系统中的每个程序都运行在某个进程的上下文中

    父进程通过调用fork函数来创建一个新的运行的子进程

    fork函数调用一次返回两次。一次是返回到父进程,另一次是返回到新创建的子进程,父进程和子进程是并发执行的。

    几个抽象:

    逻辑控制流:提供一个假象,好像我们的程序独占地使用处理器

    私有的地址空间:提供一个假象,好像我们的程序独占地使用内存系统

    进程控制:

    回收子进程

    当一个进程由于某种原因终止时,进程被保持在一种已终止的状态中,直到被它的父进程回收。

    一个进程调用waitpid函数等待它的子进程终止或停止

    `#include <sys/types.h>

    include <wait.h>

    pid_t waitpid(pid_t pid,int *statusp,int options);`

    运行程序

    execve函数在当前进程的上下文中加载并运行一个新程序

    课上测试补做

    实现ls

    打开目录文件

    针对目录文件

    读取目录条目

    显示文件名

    关闭文件目录文件

    #include        <stdio.h>
    #include        <sys/types.h>
    #include        <dirent.h>
    
    void do_ls(char []);
    
    int main(int argc, char *argv[])
    {
            if ( argc == 1 )
                    do_ls( "." );
            else
                    while ( --argc ){
                            printf("%s:
    ", *++argv );
                            do_ls( *argv );
                    }
    
            return 0;
    }
    
    void do_ls( char dirname[] )
    {
            DIR             *dir_ptr;
            struct dirent   *direntp;
    
            if ( ( dir_ptr = opendir( dirname ) ) == NULL )
                    fprintf(stderr,"ls1: cannot open %s
    ", dirname);
            else
            {
                    while ( ( direntp = readdir( dir_ptr ) ) != NULL )
                            printf("%s
    ", direntp->d_name );
                    closedir(dir_ptr);
            }
    }
    ~           
    
    

  • 相关阅读:
    C#中Windows通用的回车转Tab方法
    对Form_Load事件的一点想法
    关于粉笔灰对教师影响的解决方案
    今天才发现MSSQLServer2000的排序功能原来这样
    C# 2.0与泛型
    (收藏)Anders Hejlsberg谈C#、Java和C++中的泛型
    对接口interface的一点想法
    马的遍历
    推荐软件:工作时间提醒器
    pgpoolII 介绍
  • 原文地址:https://www.cnblogs.com/wyb-1998/p/9943424.html
Copyright © 2011-2022 走看看