2024.7.30 作业

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

#include <myhead.h>
int main(int argc,const char *argv[])
{
	int fd1 = -1,fd2 = -1;
 	if((fd1 = open("./aa.txt",O_RDONLY))==-1)   //以读的方式打开文件
	{
		perror("open error");
		return -1;
	}
 	if((fd2 = open("./bb.txt",O_WRONLY|O_CREAT|O_TRUNC,0664))==-1)  //以写的方式打开文件
	{
		perror("open error");
		return -1;
	}
	char buf=0;  //定义一个接收的容器
	char *p=&buf;
	while(1)
	{
		int n=read(fd1,p,sizeof(buf));  //读取一个字符
		if(n==0)     //n=0,说明文件已经读完
		{
			break;
		}
		if(*p>='a'&&*p<='z')   //判断是否为小写字母
		{
			*p=*p-32;
		}
		else if(*p>='A'&&*p<='Z')    //判断是否为大写字母
		{
			*p=*p+32;
		}
		write(fd2,p,sizeof(buf));    //将转化后的字符写入bb.txt中
	}
	close(fd1);
	close(fd2);
    return 0;
}

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

并发和并行的区别

并发 (Concurrency):

  • 指的是在同一时间段内,多个任务在逻辑上“同时”进行,可以是通过时间片轮转、协作式多任务等方式实现。并发是指在同一时间内有多个任务在进行,但这些任务可能并不是在物理上同时执行的。

并行 (Parallelism):

  • 指的是在物理上同时执行多个任务,通常需要多核处理器或多个处理器来实现。并行的任务是同时在多个处理单元上运行,能够加快处理速度。

什么是进程

进程:进程就是程序的一次执行过程

进程是正在执行的任务,是一个动态的过程,有声明周期,创建、就绪、休眠、运行、死亡等多种状态

进程是计算机资源分配的最小单位,计算机会给每个进程分配4G的虚拟内存,其中0--3G内存是进程独立的,3--4G内核空间是共享的

进程在内核空间,会有一个task_struct结构体来表示,比如包含了PCB(进程控制块)

进程可以被计算机调度:时间片轮询、上下文切换

进程和程序的区别

进程:进程就是程序的一次执行过程

进程是正在执行的任务,是一个动态的过程,有声明周期,创建、就绪、休眠、运行、死亡等多种状态

进程是计算机资源分配的最小单位,计算机会给每个进程分配4G的虚拟内存,其中0--3G内存是进程独立的,3--4G内核空间是共享的

进程在内核空间,会有一个task_struct结构体来表示,比如包含了PCB(进程控制块)

进程可以被计算机调度:时间片轮询、上下文切换

程序:可执行程序代码,是静态的

进程的状态有哪些

D uninterruptible sleep (usually IO):不可中断的休眠态

R running or runnable (on run queue):运行态

S interruptible sleep (waiting for an event to complete):可中断的睡眠态

T stopped by job control signal:通过信号进入停止状态

t stopped by debugger during the tracing:调试时的停止态

W paging (not valid since the 2.6.xx kernel):已经弃用状态

X dead (should never be seen):死亡态,不可见状态

Z defunct ("zombie") process, terminated but not reaped by its //僵尸态,子进程死了,父进程不为其收尸

< high-priority (not nice to other users) //高优先级的进程

N low-priority (nice to other users) //低优先级的进程

L has pages locked into memory (for real-time and custom IO):所在内存中的进程

s is a session leader:会话组组长

l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do):包含多线程的进程

+ is in the foreground process group :前台运行的进程,一个终端只能有一个前台进程,可以有多个后台进程

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

先来先服务  短作业优先 优先级调度 时间片轮转 多级队列调度 多级反馈队列 轮询调度

3> 思维导图

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值