#include <head.h>
int main(int argc, char const *argv[])
{
int fp=-1;
if((fp=open("./zuoye.txt",O_WRONLY|O_CREAT|O_TRUNC,0664))==-1)//以只写打开zuoye.txt 没有则创建
{
printf("open error");
return -1;
}
char arr[20]="";
printf("请输入密码:");
fgets(arr,sizeof(arr),stdin);//密码先存入arr数组
write(fp,arr,sizeof(arr));//将原密码存入zuoye.txt
//read(fp,arr,sizeof(arr));也可以在zuoye.txt中读取密码存入arr
close(fp);
if((fp=open("./zuoye.txt",O_WRONLY))==-1)//重新以只读打开zuoye.txt
{
printf("open error");
return -1;
}
int fq=-1;
if((fq=open("./zuoye1.txt",O_WRONLY|O_CREAT|O_TRUNC,0664))==-1)//只读 创建zuoye1.txt
{
printf("open error");
return -1;
}
for(int i=0;i<strlen(arr);i++)//循环遍历arr
{
if(arr[i]>='a'&&arr[i]<='z'){
arr[i]=arr[i]-32;
}else if(arr[i]>='A'&&arr[i]<='Z'){//转换大小写
arr[i]=arr[i]+32;
}
}
write(fq,arr,sizeof(arr));//将转换后的密码存入zuoye1.txt
close(fq);
close(fp);//关闭两个文件描述符
return 0;
}
并发与并行的区别
并行是指两个或者多个事件在同一时刻发生,并发是指两个或多个事件在同一时间间隔发生。
并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
并行是在多台处理器上同时处理多个任务,并发是在一台处理器上“同时”处理多个任务。
什么是进程
当我们运行可执行程序时,本质上是将这个程序加载到内存当中了,因为只有加载到内存后,CPU才能对其进行逐行的语句执行,而一旦将这个程序加载到内存后,这个程序就不叫做程序了,严格意义上将应该将其称之为进程。
进程和程序的区别
(1)程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的(2)程序是静态的观念,进程是动态的观念(3)进程具有并发性,而程序没有(4)进程是竞争计算机资源的基本单位,程序不是。(5)进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序
进程的状态
初始态、就绪态、执行态、等待态,终止态
系统中的多个进程的调度机制
思维导图