当前位置: 首页 > news >正文

操作系统实训复习笔记(1)

目录

Linux vi/vim编辑器(简单)

(1)vi/vim基本用法。

(2)vi/vim基础操作。

进程基础操作(简单)

(1)fork()函数。

写文件系统函数(中等)

​编辑

(1)C语言读取文件。

(2)C语言写入文件。

1、write()函数。

 读文件系统函数(简单)

(1)read()函数。


作者本人的操作系统实训复习笔记

Linux vi/vim编辑器(简单

(1)vi/vim基本用法。
  • 启动vi/vim编辑器,同时打开文件testFile,可以这样编写命令。" vi testFile " 或者 " vim testFile "。
  • 保存并退出:" wq "。
  • 进入底线命令模式:" : " 。
  • " ESC " 与 " i " 互相切换。
(2)vi/vim基础操作。
  • 光标移动到某一行时:按 " dd " 删除该行,按 " yy " 复制该行,按 " p " 粘贴。
  • (从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2)" 1,$s/word1/word2/g "。
  • " 输入:1,3 w oldFileCpy.txt 后回车 " 。将第1行到第三行复制到指定文件里。

进程基础操作(简单

(1)fork()函数。
  • " fork() "函数是已经定义好的,题目中直接调用即可。" fork() "函数通过系统调用创建一个与原来进程几乎一样的进程,这个新进程叫做 "子进程 ",而原来的进程叫做" 父进程 ",父与子进程一起向下执行代码。
  • 返回值为"负值"——>创建子进程失败。(如果出现错误,fork返回一个负值

  • 返回值为"0"——>返回到新创建的子进程。(在子进程中,fork返回0

  • 返回值为"正值"——>返回父进程或调用者,该值包含新创建的子进程的进程ID。(fork返回子进程的ID

  • fork的特性:一次调用,两次返回

 pid_t pid = fork();
    if(pid==0){
      printf("bye! ");
    }
    else if(pid>0){
      printf("bye! ");
    }

写文件系统函数(中等)

(1)C语言读取文件。
  • read() 成功,则返回读到的字节数(重点)。
  • 如果已达到结尾,则返回0。
  • 若出错,返回-1。

(要填写的关键部分代码)

while ( (readbytes = read(resource_fd,buffer,FILESIZE) ) >0 )
(2)C语言写入文件。
1、write()函数。
  • ssize_t write(int fd, const void *buf, size_t count);
  • fd:要写入的文件地方
  • buf:要写入的信息所在的缓存
  • count:要写入的字节数

(要填写的关键部分代码)

while ( ( writebytes = write(destination_fd,p,readbytes) )>0)

 读文件系统函数(简单)

(1)read()函数。
  • ssize_t read(int fd, void *buf, size_t count);
  • fd:文件描述符
  • buf:保存读入信息的缓存
  • count:要读取的字节数

(要填写的关键部分代码)

//请使用read函数将其读入buffer中
    n = read(fd,buffer,sizeof(buffer)-1);

相关文章:

  • 【Python】 使用 pandas 进行数据归一化
  • Spring响应式编程之Reactor操作符
  • 如何在Java中实现数据库连接池?
  • 一天了解23种设计模式
  • 【教程】hexo 更换主题后,部署在 Github Page 无 CSS 样式
  • C#学习系列之ListView垂直滚动
  • Transformers和Langchain中几个组件的区别
  • 医学记录 --- 腋下异味
  • LogicFlow 学习笔记——11. 对齐线 和 键盘快捷键
  • Android应用保活实践
  • CARLA自动驾驶模拟器基础
  • 深入理解 JS/TS 中的 filter 方法及其布尔值筛选功能
  • 移动端 UI 风格,诠释精致
  • 【计算机体系结构】
  • 啥移动硬盘格式能更好兼容Windows和Mac系统 NTFS格式苹果电脑不能修改 paragon ntfs for mac激活码
  • getPhysicalNumberOfCells获取列数不是合并前实际列数
  • Linux操作系统
  • vos3000外呼系统通话会话超时中断详解
  • Day10—Spark SQL基础
  • HTML(12)——背景属性