使用文件IO完成,将源文件中的所有内容进行加密(大写转小写,小写转大写)后写入目标文件源文件内容不变
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
int main(int argc,const char *argv[]){
if(argc!=3){
perror("err!\n");
return -1;
}
int srcfd=-1;
if((srcfd=open(argv[1],O_RDONLY))==-1){
perror("open err!");
return -1;
}
int desfd=-1;
if((desfd=open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,0664))==-1){
perror("open err!");
return -1;
}
char a;
while(1){
int res=read(srcfd,&a,sizeof(a));
if(res==0){
break;
}
if(a>='a'&&a<='z'){
a=a-32;
}
else if(a>='A'&&a<='Z'){
a=a+32;
}
write(desfd,&a,sizeof(a));
}
close(srcfd);
close(desfd);
return 0;
}
效果图:
并发和并行的区别:
1:并发是指一个处理器同时处理多个任务,并行是指多个处理器或者是多核的处理器同时处理多个不同的任务
2:并发是逻辑上的同时发生,而并行是物理上的同时发生
3:并发是指多个任务交替执行的能力,这些任务可能不是同时执行,而是通过快速切换在不同任务之间来实现“同时执行”的效果。并行指的是多个任务同时执行的能力,每个任务都在独立的CPU上执行。
什么是进程:
狭义定义:进程就是一段程序的执行过程。
广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
简单例子:一人在家的你要做饭,在做饭过程中你要洗米,炒菜等一系列的操作,这一过程就被进程
进程和程序的区别:
- 程序是指令的有序集合,是静态的概念,没有运行的含义。进程是程序在处理机上的一次执行过程,是动态的概念。
- 程序可以长期保存,进程有一定生命周期,能动态产生和消亡。
- 进程具有并发性,而程序没有。
- 进程是竞争计算机资源的基本单位,程序不是
进程的状态:
基本状态:创建状态,就绪态,阻塞态,运行态,终结状态
系统中多个进程的调度机制有哪些:
1,先来先服务调度(FCFS)
2,短作业优先调度(SJF)
3,时间片轮转调度(Round Robin)
4, 多级反馈队列调度(MLFQ)