Linux移植一 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明....现在手上有两个开发板,一个是tiny6410,一个是OK6410-A.tiny6410上跑的是linux2.6.38,支持alsa,uboot支持yaffs2系统以及从sd卡启动linux,并且移植了qte....uboot仅支持从sd卡烧录uboot,不能直接启动linux....总的来说tiny6410在linux方面提供了更全面的支持.不过在核心板的PCB设计上tiny6410至少在声卡这块远没有ok6410好,所以接下来我的工作是将tiny6410提供的linux2.6.38...移植到ok6410上.方案有两种: 1.用ok6410提供的uboot + linux2.6.38 2.用tiny6410提供的uboot + linux2.6.38 先尝试第一种. ok6410与tiny6410
Linux 从零开始学习笔记 http://down-ww3.7down.net/pcdown/soft/xiazai/xishuolinux.rar Linux学习笔记 第一章 Linux起源 第二章...系统分区 第三章 Linux安装与配置 第四章 Linux常用命令 第一节 文件处理命令 第一讲 命令格式与目录处理命令ls 第二讲 目录处理命令 第三讲 文件处理命令 第四讲 链接命令 第二节...Linux 硬件全为文件 这一点与Windows不一样,下面介绍一些Linux的主要硬件文件名已经存放路径。...第三章 Linux安装与配置 在Linux远程登录管理配置IP时,需要的一些简单命令: ifconfig 查询当前网卡信息 ifconfig eth0 配置网卡 ifconfig eth0 后+...然而我们要走的路才刚刚开始,已经写了关于Linux 网络环境,已经网络基础篇,希望大家可以多开看看! 链接: Linux网络基础篇.
1.登录: Login: root(管理员名) Password:linux的密码 2.关机、注销、重启 (关机:halt ,shutdown, init 0,poweroff) (重启:halt ,shutdown...grep –s text *.con 学会以上的是十一步操作,基本Linux操作是完事了,下篇文章继续升级。
备注:也可以不用虚拟机,直接在window系统下安装,但是比较麻烦,要分出盘给linux系统,相当于电脑有双系统。...我是把linux安装在虚拟机上,安装的linux版本是ubuntu,还有很多版本…其它版本类似安装。...安装完之后出现: 然后点击创建新的虚拟机,然后点下一步,让你选择linux版本时,选择你需要的版本,然后选择系统存放的位置。...《U盘启动系统》制作好以后可以重启电脑,进入Bios 设置为 U盘启动,就能体验一把Linux了。 ...windows系统下安装linux-ubuntu双系统_程序员爱酸奶 d. 彻底删除Ubuntu EFI分区及启动项
在Linux地址下,这种地址叫做 虚拟地址 我们在用C/C++语言所看到的地址,全部都是虚拟地址!...等… 3 如何调度进程 Linux是一个分时操作系统(与之对应的是实时操作系统,例如车机操作系统可以实时反应)。
一张图解决你所有Linux命令:
从零开始学习进程 1 认识进程收尾 进程的路径是可以改变的, 每个进程在启动的时候,会记录自己当前在哪个路径下启动。...2 进程状态 2.1 谈谈Linux进程状态 进程状态是task_struct内部的一个属性,int status就是一个代表状态的数字。...看看Linux内核源代码怎么说: 为了弄明白正在运行的进程是什么意思,我们需要知道进程的不同状态。一个进程可以有几个状态(在 Linux内核里,进程有时候也叫做任务)。
3.3 Linux中的进程 每个操作系统都有自己对应的PCB模块,那我们来看一下linux 的PCB是什么样子: struct task_struct{ //Liunx 进程控制模块 } 在linux...在根据进程的概念我们可以理解linux的进程为: 进程 = 内核task_ struct结构体 + 程序的代码和数据 深入理解 现在我们来进入到linux中来看看进程的Task_struct本身内部的属性都有哪些...现在,linux 启动!!! . / 的本质就是让系统创建进程并运行 (此外每个指令也是一个可执行程序) 我们自己写的代码形成的可执行程序 == 系统命令 == 可执行程序。...在Linux 中大部分的执行操作本质都是运行进程!!!...现在我们再来看看Linux中的“任务管理器”,让我们一起来看看然后才能查看进程 ps ajx 可以查看我们的进程,为了方便演示我们使用grep 来进行一下筛选: ps ajx | grep myprogress
1 线程类的封装 学习线程互斥之前,我们先对linux的线程库进行封装,熟悉一下C++的线程库。
4 管道 4.1 什么是管道 【Linux】 拿下 系统 基础文件操作!!!...【Linux】开始了解重定向 这两篇文章了我们讲解了文件的底层,知道每一个进程都有对应的文件管理结构体,文件管理结构体中有管理已经打开文件的数组。...通过手册我们可以看到: PIPE(2) Linux Programmer's Manual
Linux鼓励将这种应用于程序之内的模式扩展到程序之间。 一个C程序可以 fork/exec另一个程序,并传给它一些参数。这个被调用的程序执行一定的操作,然后通过 exit(n) 来返回值。...shell 原路径下, 因此我们可以得到一些结论: 在 shell 中有些命令,必须由子进程来执行, 有些命令,不能由子进程来执行,由shell 自己执行 --- 内建命令 内建命令之前我们也在这篇博客【Linux...外部命令】 (1)内部命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在 linux 系统加载运行时...(2)外部命令是 linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。
LInux内核只会维护轻量级进程,通过LWP(轻量级进程ID)维护,而用户层看到的是线程,需要的是线程的ID,线程的相关属性。上面我们提过线程是线程库维护的!...Linux的线程 = pthread库中线程的属性集 + LWP 总的来说,pthread_t tid就是线程属性集合的起始虚拟地址 — 在pthread中进行维护。...让他们各自拥有一份,我们可以使用编译选项__thread(只在linux有效,只能修饰内置类型) __thread int gval = 100; 可以看到此时主线程和新线程就是不一样的gval了!
我们也很期待你那闪闪发光的定制 Linux 系统呐。...创建一个 systemd 所需的 /etc/os-release 文件: cat > /etc/os-release << "EOF" NAME="<em>Linux</em> From Scratch" VERSION...="7.7-systemd" ID=lfs PRETTY_NAME="<em>Linux</em> From Scratch 7.7-systemd" EOF 建立 /etc/lfs-release 文件十分明智。...运行以下命令新建此文件: echo 7.7-systemd > /etc/lfs-release 为向 Linux Standards Base (LSB) 致敬,你可以建立文件来显示当前系统的完整信息...运行以下命令新建此文件: cat > /etc/lsb-release << "EOF" DISTRIB_ID="<em>Linux</em> From Scratch" DISTRIB_RELEASE="7.7-systemd
这里出现了main函数的报错。因为代码中没有main函数,就不可能形成可执行程序!
从零开始安装Redis 集群(Linux CenOS7) 使用ISO安装CentOS7虚拟机 配置静态IP(参考Mac VMware Fusion CentOS7配置静态IP 或者 windows) 安装...安装jdk 使用FileZilla上传jdk到Linux系统的/home/software [root@localhost software]# mkdir /usr/java ......[root@localhost software]# tar -zxvf jdk-8u231-linux-x64.tar.gz ......Server VM (build 25.231-b11, mixed mode) 安装Redis https://redis.io/download 下载稳定版本 使用FileZilla上传redis到Linux.../bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc
Linux系统下基本都是使用动态库: 接下来我们来详细说说静态库和动态库。 实际工作中,80%的情况都是使用动态库!!! 3 建立静态库 我们来谈谈如何建立静态库。...来看一下具体命令: 生成静态库[root@localhost linux]# ar -rc libmymath.a add.o sub.o ar是gnu归档工具,rc表示(replace and create...) 查看静态库中的目录列表[root@localhost linux]# ar -tv libmymath.a rw-r–r-- 0/0 1240 Sep 15 16:53 2017 add.o rw-r–r
Linux中的线程是通过进程模拟的(并没有单独设计出一个单独的线程模块) 进程中可以有多个进程(之前学习的是进程的特殊情况),他们共用一个地址空间。进程从内核来看,是承担分配系统资源的基本实体!...Linux中的执行流是线程 ,CPU看到的执行流 <= 进程 进程与线程需要注意: 线程的调度成本比进程低很多,是由于硬件原因:CPU中存在一个cache会储存热点数据(进程相关数据) ,要访问数据时,...线程控制 2.1 线程创建 万事开头难,我们先来看线程怎么创建: PTHREAD_CREATE(3) Linux...由主线程来等待新线程 PTHREAD_JOIN(3) Linux Programmer's Manual...()不可以用来终止线程 操作系统也给我们提供了线程终止的接口: PTHREAD_CANCEL(3) Linux
相关接口 创建 为了使用共享内存,我们先来认识一下对应的系统调用: SHMGET(2) Linux...FTOK(3) Linux Programmer's Manual...当然有了: HMCTL(2) Linux Programmer's Manual...需要使用系统调用shmat(挂载) --- shmdt(去除挂载) SHMOP(2) Linux
Linux API 头文件(在 linux-3.19.tar.xz 中)展示了供 Glibc 使用的内核 API。...Linux 内核需要展示供系统 C 库(在 LFS 中是 Glibc)使用的应用程序编程接口(API)。 这通过在 Linux 内核源代码 tar 包中包括一些 C 头文件来完成。...首先,切换到 lfs 用户下: su - lfs 确保环境变量已生效,并且解压软件包 echo $LFS cd $LFS/sources tar xf linux-3.19.tar.xz cd linux...INSTALL_HDR_PATH=dest headers_install cp -rv dest/include/* /tools/include 安装完成后清理工作: cd .. rm -rf linux
__sys_accept4(int fd, struct sockaddr __user *upeer_sockaddr, int __user *upeer_addrlen, int flags);Linux...中的 Socket如果说在 Java 中,万物皆对象,那么在Linux中可以说万物皆文件。...Socket 也是一种文件,所以 Linux 在网络传输的过程中可以使用文件I/O相关的函数。// sys_close函数用于关闭一个已打开的文件描述符。// 参数: fd - 要关闭的文件描述符。...int sys_close(int fd)在Linux中创建一个Socket,通过下面的方法实现// @param family 套接字地址族,如AF_INET表示IPv4// @param type...失败时返回-1并设置errnoint __sys_socket(int family, int type, int protocol);family这里和font family类似,可以理解为“族”,你可以在linux
领取专属 10元无门槛券
手把手带您无忧上云