作业
1> 使用文件IO完成,将源文件中的所有内容进行加密(大写转小写、小写转大写)后写入目标文件中
源文件内容不变
#include <myhead.h>
int main(int argc, const char *argv[])
{
if(argc != 3) //判断打开的文件个数
{
printf("input file error\n");
return -1;
}
int srcfd = open(argv[1],O_RDONLY); //打开文件
if(srcfd == -1)
{
perror("open srcfile error");
return -1;
}
int destfd = open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0664);
if(destfd == -1)
{
perror("open destfd error");
return -1;
}
char buf[128] = ""; //定义搬运
while(1)
{
int src = read(srcfd,buf,sizeof(buf));
if(src == 0)
{
break;
}
for(int i=0;i<128;i++) //加密
{
if(buf[i]>64&&buf[i]<91)
{
buf[i] = buf[i]+32;
}
else if(buf[i]>96&&buf[i]<123)
{
buf[i] = buf[i]-32;
}
}
write(destfd,buf,src);
}
close(srcfd); //关闭
close(destfd);
return 0;
}
2> 查资料了解以下概念:
并发和并行的区别
并发是指一个处理器同时处理多个任务,而并行是指多个处理器或者是多核的处理器同时处理多个不同的任务
什么是进程
狭义定义:进程就是一段程序的执行过程。
广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
进程和程序的区别
程序是指令的有序集合,是一个静态概念,没有运行的含义。进程是程序在处理机上的一次执行过程,是动态的概念
进程的状态有哪些
创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态
就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行
执行状态:进程处于就绪状态被调度后,进程进入执行状态
阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用
终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行
系统中的多个进程的调度机制都有哪些
系统中的多个进程的调度机制包括以下几种:
- 先到先服务调度(FCFS)
- 短作业优先调度(SJF)
- 时间片轮转调度(Round Robin)
- 多级反馈队列调度(MLFQ)
3> 思维导图