Linux基础之操作系统 | 青训营笔记

268 阅读3分钟

Linux是目前全球使用量最多的服务器操作系统。其体系很强大,其分支有很多。 其在世界范围最大的使用分支是安卓Android

Windows属于:单用户、多任务操作系统。

Linux属于:多用户、多任务操作系统。操作系统允许同时登录多个用户进行操作,允许用户同时进行多个操作任务。

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。

Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。

image.png

内核:

  • 内核是硬件与软件之间的中间层
  • 内核是一个资源管理程序
  • 内核提供一组面向系统的命令

Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器.它不仅是命令解释器,而且还是高级编程语言,shell编程

文件系统( File Systems :是文件存放在磁盘等存储设备上的组织方法

Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。

应用程序:标准的Linux系统一般都有一套应用程序。

它包括文本编辑器、编程语言、X Window、办公套件、Internet工具和数据库等

操作系统,一般是指在内核态(kernel mode)或称管态(supervisor mode)下运行的软件,它受到硬件的保护,用户不能随便去篡改它的内容。

操作系统有两个基本的职能:

①操作系统是负责将硬件细节与程序员隔离开来,并提供一个简单、方便的文件访问方式的程序。对于每一种硬件,操作系统都提供了一个简单、好用的抽象接口。——该角度,操作系统的功能就是为用户提供一台等价的扩展计算机,或称虚拟机

举例:对磁盘的抽象:用户使用文件时,不需要知道文件位于哪个磁盘,只要知道文件名就可进行相应的操作

②操作系统是一个复杂系统的管理者——该角度,操作系统的任务就是跟踪资源的使用情况、满足资源请求、提高资源利用率,以及在时间和空间上协调不同程序和用户对资源的访问冲突

运用:

在Windows中安装虚拟机软件(可以是VMware/VirtualBox);在虚拟机中安装Linux发行版Ubuntu,Ubuntu中要安装gcc/g++编译套件;

编程,实现文件复制。源文件名和目标文件名在命令行上给出。程序中要体现出open、read、write、close等关于文件的系统调用。

open()函数

功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。

所需头文件:#include <sys/types.h>,#include <sys/stat.h>,#include <fcntl.h>

close()函数

功能描述:用于关闭一个被打开的的文件

所需头文件: #include <unistd.h>

read()函数

功能描述: 从文件读取数据。

所需头文件: #include <unistd.h>

write()函数

功能描述: 向文件写入数据。

所需头文件: #include <unistd.h>

image.png

image.png

image.png

#include<stdio.h>

#include<stdlib.h>

#include<sys/types.h>

#include<sys/stat.h>

#include<fcntl.h>

#include<unistd.h>

#include<string.h>

int main(){

int fd_1=open("fd1.txt",O_RDWR);

int fd_2=open("fd2.txt",O_CREAT|O_RDWR,0777);

char str[100];

bzero(str,sizeof(str));

int read_temp=read(fd_1,str,100);

printf("%d\n",read_temp);

printf("读取成功\n");

int write_temp=write(fd_2,str,strlen(str));

printf("复制成功\n");

printf("%d\n",write_temp);

close(fd_1);

close(fd_2);

return 0;}