日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2025/4/5 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018-2019-1 20165335 《信息安全系统设计基础》第六周学习总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一 .教材學(xué)習(xí)總結(jié)

?系統(tǒng)I/O操作:

    系統(tǒng)的所有的I/O操作就是將設(shè)備數(shù)據(jù)復(fù)制到主要存儲(chǔ)。

    所有的I/O設(shè)備都是將模型轉(zhuǎn)化為文件。

    打開(kāi)文件: 一個(gè)應(yīng)用程序先要求內(nèi)核打開(kāi)一個(gè)文件,內(nèi)核返回一個(gè)數(shù)字表示響應(yīng)。

    每一個(gè)進(jìn)程開(kāi)始打開(kāi)時(shí)候,打開(kāi)三個(gè)文件

      1.標(biāo)準(zhǔn)輸入 標(biāo)記0

      2. 標(biāo)準(zhǔn)輸出 標(biāo)記1

      3. 標(biāo)準(zhǔn)錯(cuò)誤 標(biāo)記2

i/o口與文件圖解:

?

  文件描述:

  文本文件就是只含有ASCII嗎和Unicode的字符

  Linux文本文件包含文本行序列

  每一個(gè)文件目錄都包括最少2個(gè)條目

  linux文件序列圖解:

?

rio_read函數(shù)解析:

  對(duì)于一個(gè)應(yīng)用程序,rio——read函數(shù)和Linux基本類(lèi)似,出錯(cuò)時(shí)返回eof

  調(diào)用rio可以簡(jiǎn)單實(shí)現(xiàn)內(nèi)存與文件的傳輸數(shù)據(jù)

 計(jì)算機(jī)CPU對(duì)內(nèi)存處理圖解:

?

Linux自帶函數(shù):

void rio_readinitb(rio_t *rp, int fd)

{
rp->rio_fd = fd;
rp->rio_cnt = 0;
rp->rio_bufptr = rp->rio_buf;

return;
}

?

static ssize_t rio_read(rio_t *rp, char *usrbuf, size_t n)

{
int cnt;

while(rp->rio_cnt <= 0)
{
rp->rio_cnt = read(rp->rio_fd, rp->rio_buf, sizeof(rp->rio_buf));
if(rp->rio_cnt < 0)
{
if(errno != EINTR)
return -1;
}
else if(rp->rio_cnt == 0)
return 0;
else
rp->rio_bufptr = rp->rio_buf;
}

cnt = n;
if((size_t)rp->rio_cnt < n)
cnt = rp->rio_cnt;
memcpy(usrbuf, rp->rio_bufptr, n);
rp->rio_bufptr += cnt;
rp->rio_cnt -= cnt;

return cnt;
}


ssize_t rio_readnb(rio_t *rp, void *usrbuf, size_t n)
{
size_t leftcnt = n;
ssize_t nread;
char *buf = (char *)usrbuf;

while(leftcnt > 0)
{
if((nread = rio_read(rp, buf, n)) < 0)
{
if(errno == EINTR)
nread = 0;
else
return -1;
}
leftcnt -= nread;
buf += nread;
}

return n-leftcnt;
}


ssize_t rio_readlineb(rio_t *rp, void *usrbuf, size_t maxlen)
{
size_t n;
int rd;
char c, *bufp = (char *)usrbuf;

for(n=1; n<maxlen; n++)
{
if((rd=rio_read(rp, &c, 1)) == 1)
{
*bufp++ = c;
if(c == '\n')
break;
}
else if(rd == 0)
{
if(n == 1)
return 0;
else
break;
}
else
return -1;
}
*bufp = 0;

return n;
}


ssize_t rio_writen(int fd, void *usrbuf, size_t n)
{
size_t nleft = n;
ssize_t nwritten;
char *bufp = (char *)usrbuf;

while(nleft > 0)
{
if((nwritten = write(fd, bufp, nleft)) <= 0)
{
if(errno == EINTR)
nwritten = 0;
else
return -1;
}
bufp += nwritten;
nleft -= nwritten;
}

return n;
}

?二. 本周錯(cuò)誤總結(jié):

下面說(shuō)法正確的是()
A .
Linux內(nèi)核使用的file table 所有的進(jìn)程共享的。
B .
不同進(jìn)程打開(kāi)同一個(gè)文件的文件描述符必須一樣。
C .
使用dup2 把標(biāo)準(zhǔn)輸入重定向到描述符7 dup2(7,0)

D .
使用dup2 把標(biāo)準(zhǔn)輸入重定向到描述符7 dup2(0,7)

E .
ls > foo.txt 是輸出重定向
F .
類(lèi)型為FILE的流是對(duì)文件描述符和流緩沖區(qū)的抽象。

答案:ACEF

Unix/Linux中,對(duì)于代碼fd=open("foo",O_WRONLY,0766),umask=022,下面說(shuō)法正確的是()
A .
進(jìn)程對(duì)foo是只寫(xiě)的
B .
同組成員能寫(xiě)foo
C .
使用者可以執(zhí)行foo
D .
任何人都可以寫(xiě)foo

答案:AC

?

轉(zhuǎn)載于:https://www.cnblogs.com/x20165335/p/9904102.html

總結(jié)

以上是生活随笔為你收集整理的2018-2019-1 20165335 《信息安全系统设计基础》第六周学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。