2024.7.30 作业

1、使用文件IO完成,将源文件中的所有内容进行加密(大写转小写、小写转大写)后写入目标文件中,源文件内容不变

代码:

/*******************************************/

文件名:io4.c

/*******************************************/

#include<myhead.h>
int main(int argc, char const *argv[])
{
    //判断是否传入了两个文件
    if(argc!=3){
        write(2,"input file error\n",sizeof("input file error\n"));
        return -1;
    }
    //定义第一个文件描述符
    int afp=-1;
    if((afp=open(argv[1],O_RDONLY))==-1){
        perror("open error");
        return -1;
    }
    //定义第二个文件描述符
    int bfp=-1;
    if((bfp=open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0777))==-1){
        perror("open error");
        return -1;
    }
    //定义字符数组接收读取数据
    char temp[20]="";
    //定义整型接收读取字符串的长度
    int size=0;
    while(1){
        //读取字符串
        size=read(afp,temp,sizeof(temp));
        //判断是否读取结束
        if(size==0){
            break;
        }
        //判断字符串中每个字符是否是英文字母并进行切换处理
        for(int i=0;i<size;i++){
            if(temp[i]>='a'&&temp[i]<='z'){
                temp[i]=temp[i]-32;
            }
            else if(temp[i]>='A'&&temp[i]<='Z'){
                temp[i]=temp[i]+32;
            }
        }
        //将切换完成的数据传入第二个文件
        write(bfp,temp,size);
    }
    printf("拷贝成功\n");
    //关闭文件
    close(afp);
    close(bfp);
    return 0;
}

结果:

2、查资料了解以下概念:

并发与并行的区别

    并发:同时间间隔,依次将任务分配给处理器处理,任务不会同时进行
        侧重于同一实体
        一台处理器处理多个任务
    并行:同时进行,将任务分配给不同的处理器单独完成,必定同时进行
        侧重于不同实体
        多台处理器同时处理多个任务


什么是进程

    计算机中程序关于数据集合的一次运行活动
    系统进行资源分配和调度的基本单位
    是操作系统结构的基础
    是线程的容器
    是程序的实体


进程和程序的区别

    程序:是一组指令的有序集合,没有运行含义
        程序执行在不同的数据集上就成了不同的进程
        和数据没有直接的联系,无法标识运行于不同数据集上的程序
        一个程序可能没有对应的进程(没有运行),也可能有多个对应的进程
    进程:是程序再某个数据集的执行,反映了程序在一定的数据集上运行的全部动态过程
        进程可以用进程控制块来唯一地标识每个进程
        进程具有并发性和交往性


进程的状态有哪些

    运行状态:已经占用CPU,在CPU上进行
    就绪状态:具备运行条件但没有CPU可用,暂时不能运行
    阻塞状态(等待状态):等待某项服务完成或等待某个学号而不能运行(等待系统调用,I/O操作等)


系统中的多个进程的调度机制都有哪些

    先来先服务:按照请求顺序进行调度,利于长作业
    短作业优先:抢占式的调度算法,按估计运行时间最短的顺序进行调度,长作业可能处于一直等待的状态
    最短剩余时间优先:按剩余时间顺序进行调度
    时间片轮转:将所有就绪的进程按FCFS的原则排成队列,每次调度时把CPU时间分配给队首进程,改进程可以执行一个时间片,时间片用完时,计时器发出时钟中断,停止该进程,将其送往队末,效率与时间片大小关系很大,时间片太小会导致进程切换频繁,切换时间花费过多,实时性无法保证
    优先级调度:为每个进程分配一个优先级,按优先级进行调度,随时间推移可以增加进程的优先级

3、思维导图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值