zoukankan      html  css  js  c++  java
  • 家庭作业:12.18,9.13,8.25,2.62

    家庭作业

    12.18

    原理:(L,U,S)为一个临界区,这个临界区不能和其他进程的临界区交替。

    A、不安全
    B、安全
    C、不安全
    
    

    9.13

    这道题答案补充一下。

    题目如下图所示:

    A、虚拟地址

    13    12    11    10    9    8    7    6    5    4    3    2    1    0
    0     0     0     0     0    0    0    1    0    0    0    0    0    0
    
    

    地址翻译

    参数
    VPN 0X01
    TLB索引 0X01
    TLB标记 0X00
    TLB命中
    缺页
    PPN -

    下图所示当VPN=1时,有效位为0,PPN无。所以就没有物理地址。

    2.62

    int_shifts_are_arithmetic()
    int int_shifts_are_arithmetic(){
        int x = -1;
        return (x>>1) == -1;
    }
    

    8.25

    #include "csapp.h"
    
    
    static sigjmp_buf env; //当调用sigsetjmp函数时将当前调用环境保存在缓冲区env中,以供后面siglongjum使用
    
    static void handler(int sig)
    {
    Alarm(0);  //如果有以前为进程登记的尚未超时的闹钟时钟,而且本次调用的secs值是0,则取消以前的闹钟时钟,其余留值仍作为alarm函数的返回值。
    siglongjmp(env, 1); //当控制到达这里时执行跳转,即重新跳回sigsetjmp处继续执行,此时sigsetjmp返回非零
    }
    
    char *tfgets( char *s, int size, FILE *stream )
    {
    Signal( SIGALRM, handler ); //当内核向alarm函数的调用进程发送一个信号时,捕获该信号
    
    
    Alarm(5);  //alarm函数在5秒内向调用进程发送一个SIGALRM信号
    
    /*
    **(alarm函数不发送信号) 不会发生非本地跳转,于是sigsetjmp返回0,程序执行Fgets,tfgets函数返回指向输入行的指针。
    ** (alarm发送信号)发生非本地跳转,sigsetjmp返回非零,tfgets函数返回NULL。 
    */
    if( sigsetjmp(env, 1) == 0 )  //设定一个可以被信号处理程序使用的非本地跳转,设定成功后sigsetjmp返回0
    return ( Fgets(s, size, stream) );
    else
    return NULL;
    }
    
    int main()
    {
    char buf[MAXLINE];
    
    
    while(1)
    {
    bzero(buf, MAXLINE); //将字符数组buf全部清零
    
    if( tfgets(buf, sizeof(buf), stdin) != NULL )
    printf( "read:%s
    ", buf );
    else
    printf( "timed out
    " ); //超时
    }
    exit(0);
    }
    
    
  • 相关阅读:
    ftpserver / FTP model:PORT/PASV/EPRT/EPSV
    windows 环境下搭建electricSearch+kibana
    springBoot2.x整合 logback实现日志记录
    springBoot使用aop添加处理rest请求 打印请求时间 和请求参数
    springCloud 使用feign复制请求头调用其他服务 content-length不一致导致调用失败
    mysql查询重复用户最新的一条数据
    【开源】 开源社区
    【数据库】 SQL 使用注意点
    【数据库】 SQL 常用语句
    【数据结构】 List 简单实现
  • 原文地址:https://www.cnblogs.com/yayaer/p/6208215.html
Copyright © 2011-2022 走看看