首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux系统开发基础知识

Linux系统开发会用到什么?...C语言基础 Linux系统内核是C语言编写的,所以,Linux系统开发可能会和很多系统API打交道,需要掌握C语言基础,C语言是Linux最基础的开发语言,当然也可以用C++。...常用Linux系统编程知识 文件IO Linux系统下,所有的资源都是以文件的形式访问的,设备被抽象为设备文件,放于/dev目录下。...高级IO里主要是讲的IO操作的方式:阻塞、非阻塞控制,最主要的是通过select和poll实现IO多路复用,这样可以实现程序的异步执行。...应用层的数据通信,就是使用write、和read函数操作,但是如果想做的比较好一些,就需要花点时间去做个软件框架,比如利用前面提到的select实现异步操作

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    操作系统开发:编写开机引导

    操作系统是用来管理与协调硬件工作的,开发一款操作系统有利于理解底层的运转逻辑,本篇内容主要用来理解操作系统是如何启动的,又是如何加载磁盘中的内核的,该系列文章参考各类底层书籍,通过自己的理解并加以叙述,...让MBR直接驱动显卡 如上代码,我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作。...这个地址转换过程是由操作系统与处理器共同协作完成的,处理器在硬件上提供地址转换部件,操作系统提供转换过程中所需要的页表。...由于全局描述符表GDT很大,所以默认将其放在了内存中,由GDTR寄存器指向它,GDTR是个48位的寄存器,通常使用lgdtr指令操作,控制该寄存器。...D/B字段 第22位是DB字段,用来指示有效地址(段内偏移地址)及操作数的大小。

    65130

    Linux系统开发: 基础命令学习

    一、Linux系统介绍 Linux是一套免费使用和自由传播的Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。...支持32位和64位硬件,Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统;Linux存在着许多不同的版本,但它们都使用了Linux内核。...Linux目录结构 /bin 该目录中存放Linux的常用命令,在有的版本中是一些和根目录下相同的目录。...参数: -i 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。 -f 禁止交互操作。...Linux上的tar是GNU版本的。

    1.3K50

    操作系统开发:启用内存分页机制

    为了计算机安全,用户进程必须运行在低特权级,当用户进程需要访问硬件相关的资源时,需要向操作系统申请,由操作系统去做,之后将结果返回给用户进程,通常申请资源需要调用系统提供给我们的API接口,进程可以有无限多个...,而操作系统只有一个,所以必须将操作系统中的API资源共享给所有用户进程使用。...如何实现操作系统接口共享? 我们可以把4GB虚拟地址空间分成两部分,将4GB内存的高3GB-4GB以上的地址空间划分给操作系统,用户进程则在0GB-3GB低位地址空间内。...为了实现共享操作系统,让所有用户进程3GB-4GB的虚拟地址空间都指向同一个操作系统,也就是所有进程的虚拟地址3GB-4GB本质上都是指向的同一片物理页地址,这片物理页上是操作系统的实体代码。...TLB 并不自动更新,处理器也不负责 TLB 的有效性,它把 TLB 的维护工作交给操作系统开发人员,由开发人员手动控制 尽管 TLB 对开发人员不可见,但依然有两种方法可以间接更新 TLB 一个是针对

    76110

    Linux基本操作&&Linux操作MySQL

    Linux基本操作&&Linux操作MySQL 安装Linux系统 下载VMware虚拟机 下载CentOS-7系统 创建虚拟机 选择自定义 下一步 下一步 选择Linux 选择存放位置...系统 官网下载filezilla 设置主机ip 用户名 密码 端口号为22端口 Linux基本操作 Linux没有图形化界面,我们只能通过控制台去操作系统,我们就要使用类似DOS命令的Linux命令去操作系统...尽管在Linux上也有很多图形界面的编辑器可用, 但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。...log dump 线程,用来给从库 i/o线程传binlog; SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致; 主从复制实现过程 主机..., 因为每次操作数据库时这两值会发生改变 show master status; 记住这两个值 从机 Linux系统 进入从机修改配置文件 vim /etc/my.cnf 设置值 log-bin

    23110

    操作系统开发:BIOSMBR基础与调试

    这里在实验之前需要下载 Bochs-win32-2.6.11 作者使用的是Linux版本的,在Linux写代码不太舒服,所以最好在Windows上做实验,下载好虚拟机以后还需要下载Nasm汇编器,以及GCC...**注释:**该系列笔记是在学习《操作系统真相还原》时通过阅读后简化并适当描述整理的学习笔记,首先,致敬作者郑刚博士,在读本书时能深刻的感觉到作者写书时一丝不苟的态度,书很厚写的,讲解细致幽默,很能让人愿意继续读下去...log:bochsout.txt mouse:enabled=0 keyboard: keymap=$BXSHARE/keymaps/x11-pc-de.map 上方屏幕会比较混乱,这里我们先来进行清屏操作.../x11-pc-de.map 填充数据 dd if=mbr.bin of=linux.img bs=512 count=1 conv=notrunc dd if=/dev/zero of=linux.img...上面我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作

    33020

    操作系统开发:BIOSMBR 编写开机引导

    这里在实验之前需要下载 Bochs-win32-2.6.11 作者使用的是Linux版本的,在Linux写代码不太舒服,所以最好在Windows上做实验,下载好虚拟机以后还需要下载Nasm汇编器,以及GCC...注释:该系列笔记是在学习《操作系统真相还原》时通过阅读后简化并适当描述整理的学习笔记,首先,致敬作者郑刚博士,在读本书时能深刻的感觉到作者写书时一丝不苟的态度,书很厚写的,讲解细致幽默,很能让人愿意继续读下去...log:bochsout.txt mouse:enabled=0 keyboard: keymap=$BXSHARE/keymaps/x11-pc-de.map 上方屏幕会比较混乱,这里我们先来进行清屏操作.../x11-pc-de.map 填充数据 dd if=mbr.bin of=linux.img bs=512 count=1 conv=notrunc dd if=/dev/zero of=linux.img...上面我们通过调用BIOS提供的int 0x10中断来实现打印字符操作,但我们在后期必须要借助显卡来输出图像,而显卡是外部设备,必须通过总线来操作

    1.3K20

    在学习操作系统开发中选bochs还是qemu

    最近有同学问我:为什么你的《从0写x86 Linux操作系统课程》选择了bochs,而不是qemu?他认为bochs更加好用,很多资料上都写了用该软件。...QEMU也支持多种操作系统平台,包括Windows、Linux、macOS等。QEMU的特点在于它能够在多种不同的CPU架构之间进行模拟,例如在x86主机上模拟ARM架构的操作系统。...调试手段 当谈到操作系统开发时,调试是至关重要的。Bochs和QEMU都提供了各种调试手段,以帮助用户诊断和调试操作系统。...不过,从我的使用经验来说,使用qemu进行操作系统开发时,可以提供相比bochs更为丰富的调试手段。...总结 综合考虑以上因素,我最终选择的是QEMU,因为其在操作系统开发中更加适合初学者。这个软件提供了更好的易用性和灵活性,以及对于调试手段的支持。

    1.3K30

    Linux目录操作

    Linux目录操作 本文目录 1 路径名、文件名、工作目录 2 绝对路径、相对路径、四个路径缩写 3 目录中移动 cd pwd、移动目录 mv、重命名目录 mv 4 创建目录 mkdir、删除目录 rmdir...rm 5 ls 基本操作 6 查看文件大小 du 7 通配符 本篇文章中使用的目录结构: /home/tom ├── bin ├── gamelist.txt └── homework ├──...假定这个名称是一个完整的路径名,从根目录开始;当只是用文件名时,Linux假定使用工作目录中的文件。...Linux认为根目录的父目录就是根目录本身。 目录中移动 cd pwd、移动目录 mv、重命名目录 mv 显示工作目录的名称,可以使用pwd命令: $ pwd 切换工作目录,使用cd命令。...rm -r foo/bar # 删除foo下的bar目录,而不检查是否为空 ls 基本操作 ls用来显示目录内容。 将目录名作为参数,可以打印出目录中的内容。

    5.7K71

    linux基础操作

    01.设置虚拟机 1) 系统部署搭建过程 a 需要先准备好虚拟环境 b 需要具有系统镜像文件 c 创建虚拟主机调试网络 d 加载镜像文件安装系统 2) 实现系统远程管理 3) 系统基础管理操作 a 系统网络配置方法...命令操作使用规范 1) 了解命令提示符作用: 后面可以输入命令 root@ting ~# //这是超级管理员root用户管理系统 ting@ting ~$ //这是普通用户...命令获取帮助方法 方式一: 利用man获取帮助 man 命令/文件信息 --- 获取帮助内容 方式二: 利用help获取帮助 Linux系统环境中: 会存在一些内置命令, 内置命令介绍: · 不同版本...Linux系统都会具有命令 cd · 不需要部署任何软件程序系统就具有的命令 help cd 04....目录相关命令操作 · 切换目录方法: cd 目录信息 切换目录技巧: 相对路径方式切换目录: 相对当前路径位置进行目录切换 建议: 在相同目录结构中进行操作 绝对路径方式切换目录: 从根目录开始进行目录切换

    61300
    领券