<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Code_ZX的博客]]></title><description><![CDATA[还没入门]]></description><link>https://blog.youkuaiyun.com/Code_ZX</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Code_ZX]]></copyright><item><title><![CDATA[射频——MIMO概念]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/111309624</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/111309624</guid><author>Code_ZX</author><pubDate>Thu, 17 Dec 2020 10:28:26 +0800</pubDate><description><![CDATA[01
—
MIMO是什么
在这个万物互联的时代，手机作为我们和外界联系的窗口，似乎已经成为了我们身体的一部分。
而手机是无法自己上网的，和手机进行通信的通信网络，已经变得跟水和电一样。畅快上网的时候，感觉不到这些幕后英雄的重要，一旦离开就感觉跟活不下去了一样。
按流量收费的时代，曾几何时，1M流量收费一块，普通人一个月也就几百M，用一点少一点，哪敢无时无刻刷抖音啊。因此，看到wifi，就有了安全感。
我们来看看无线路由器长什么样子。

好家伙，8根天线，都快成蜘蛛了。看起来很牛逼的样子。
实际呢，信号能多穿]]></description><category></category></item><item><title><![CDATA[射频通信中的CA中的PCC和SCC概念]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/111308961</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/111308961</guid><author>Code_ZX</author><pubDate>Thu, 17 Dec 2020 09:56:07 +0800</pubDate><description><![CDATA[LTE CA里面涉及两个概念，一个PCC，一个SCC：

PCC：primary carrier component 主载波

SCC：sencondary carrier component 辅载波



Pcell UE建立初始连接的小区，一般对应PCC，

Scell 通过RRC重配置添加的小区，提供额外的频段资源，一般对应SCC；

PCC必须同时配置DL和UL，SCC可以只配置一个DL或UL；



一些NAS的移动性信息、安全参数等等只会在PCC上发送；

终端只会在PCC载波上发起随机接入..]]></description><category></category></item><item><title><![CDATA[线程的同步与互斥]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/85314950</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/85314950</guid><author>Code_ZX</author><pubDate>Thu, 27 Dec 2018 23:20:21 +0800</pubDate><description><![CDATA[同步与互斥


同步概念
程序按一定顺序访问临界资源，如：生产者消费者模型…（先生产再消费）


互斥概念
任何时刻，都只能有一个执行流访问临界资源，如：消费者与消费者…（不能同时消费同一个物品）


引入：
在进程中，多个线程之间共享进程资源，线程与线程之间便都具有操作该进程资源（临界资源）的能力和权限，为了保护该进程资源（临界资源），便引入了线程的同步与互斥。


互斥量（mutex）


在...]]></description><category></category></item><item><title><![CDATA[线程控制]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/85227707</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/85227707</guid><author>Code_ZX</author><pubDate>Sun, 23 Dec 2018 23:24:42 +0800</pubDate><description><![CDATA[线程基本概念

程序中的一个执行路线
CPU调度的基本单元，程序执行的最小单位
具有线程控制块（TCB），Linux下，有进程模拟实现，即TCB也就是task_struct结构体
所有的线程都共享其进程的地址空间，但是有其独立的上下文资源和栈空间

线程控制


所用库：POSIX线程库，使用编译器命令时需要加“-pthread”选项
1.头文件：&amp;amp;lt;pthread.h&amp;amp;gt;
注:库都是对系...]]></description><category></category></item><item><title><![CDATA[线程基本概念]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/85168337</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/85168337</guid><author>Code_ZX</author><pubDate>Fri, 21 Dec 2018 18:35:12 +0800</pubDate><description><![CDATA[线程概念
a.程序当中的一个执行路线
b.进程当中的一个控制序列
c.一个进程至少有一个执行线程
Linux中的线程是通过进程模拟实现线程的，没有真正意义的线程
Linux中的进程称为轻量级进程，至少有一个执行线程
进程与线程
进程是承担分配系统资源的基本单位实体；
线程是调度的基本单元，程序执行的最小单位。
进程之间数据独立；
线程共享进程资源，独自拥有自己的上下文数据和私有栈结构。
一个进程的...]]></description><category></category></item><item><title><![CDATA[linux--信号]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/85077880</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/85077880</guid><author>Code_ZX</author><pubDate>Tue, 18 Dec 2018 20:24:46 +0800</pubDate><description><![CDATA[信号概念
信号是用于通知发生某些事件，然后打断进程当前操作，改去处理该发生事件的进程间通信方式之一
信号实质是进程PCB（task_struct）中的一个位图表，其中包含两个位图和一个函数指针：阻塞位图（blocked），未决位图（pending），信号递达函数指针（handler）
信号也是软件中断的方式之一
查看信号列表命令：kill -l
信号格式：编号 + 宏定义名称
信号的总数：62个
...]]></description><category></category></item><item><title><![CDATA[volatile关键字]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/85040894</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/85040894</guid><author>Code_ZX</author><pubDate>Sun, 16 Dec 2018 21:06:38 +0800</pubDate><description><![CDATA[作用：保证被其修饰 的变量的内存可见性
在编译器优化之后：
当在某个变量的使用频率特别高时，CPU会将该变量直接放在寄存器中，每次都通过寄存器访问该变量的值，然而，当该值发生改变时，寄存器中的值并没有发生变化，也就导致了CPU取到错误的变量值；
若使用volatile修饰此类型变量，那么意味着：CPU每次访问该变量时，都需要将该变量从内存重新加载到寄存器，再访问寄存器中的该变量值！
例：
结果：
...]]></description><category></category></item><item><title><![CDATA[信号量---实现同步互斥]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/85008036</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/85008036</guid><author>Code_ZX</author><pubDate>Fri, 14 Dec 2018 18:27:12 +0800</pubDate><description><![CDATA[前言
了解信号量之前，要先了解临界资源、同步与互斥的概念
1.临界资源：在同一时间只能被一个进程调用的资源，也称互斥资源。
2.同步：保证访问的时序可控性，使调用资源的的顺序合理。
3.互斥：在进程调用临界资源是，不同进程之间要竞争该资源，那么一个进程调用了该资源，另一个进程无法再调用该资源的情形就叫互斥！
4.临界区：代码中涉及到了操作临界资源的代码段叫临界区。
5.原子操作：该操作无法被打断
...]]></description><category></category></item><item><title><![CDATA[进程间通信------共享内存]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/85003916</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/85003916</guid><author>Code_ZX</author><pubDate>Fri, 14 Dec 2018 15:01:25 +0800</pubDate><description><![CDATA[1.原理：
系统在物理地址空间上开辟一块用于存放共享数据的数据区，然后进程在其虚拟地址空间上开辟一块共享内存数据区，通过页表映射到物理地址的共享内存数据区，当不同的进程都映射到物理地址空间上的共享内存数据区时，这两个进程就可以直接从该共享内存拿取数据，不再通过内核的系统调用传递数据，实现进程间通信的目的。
注：由于共享内存不再通过系统调用传递数据，也就 节约了数据从用户到内核，再由内核到用户时的时...]]></description><category></category></item><item><title><![CDATA[进程间通信-----消息队列]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84996626</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84996626</guid><author>Code_ZX</author><pubDate>Thu, 13 Dec 2018 23:23:22 +0800</pubDate><description><![CDATA[原理：
用户组织一个 带有类型的数据块，添加到消息队列中，其他进程从该消息队列中取出对应类型的数据块
本质：	操作系统在内核为用户创建并且维护的一个队列
并且该队列为用户提供了一个两个进程之间发送具有类型的数据块的方法
不足：	
数据块的长度有上限（MSGMAX）
消息队列总字节数有上限（MSGMNB）
消息队列个数有上限（MSGMNI）
创建消息队列：
int msgget(key_t key,...]]></description><category></category></item><item><title><![CDATA[进程间通信----管道]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84986104</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84986104</guid><author>Code_ZX</author><pubDate>Thu, 13 Dec 2018 12:22:23 +0800</pubDate><description><![CDATA[进程间通信
了解管道之前，我们先要了解什么是进程间通信，为什么要进程间通信，进程间通信有什么好处，以及有哪些进程间通信方式！
背景：
1.在很多情况下，一些大型的程序使用的是多个进程相互配合完成任务
2.但是 进程具有独立性  ，无法方便的进行进程之间的沟通
3.为了使多个进程能容易的进行进程间的交流，引出进程间通信
作用：
1.数据交换
2.资源共享
3.相互通知
4.进程控制：某些进程需要被另...]]></description><category></category></item><item><title><![CDATA[动\静态库]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84980669</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84980669</guid><author>Code_ZX</author><pubDate>Wed, 12 Dec 2018 22:45:08 +0800</pubDate><description><![CDATA[原理：	
将源码文件编译成自己的目标文件（即：从.c 文件编译成 .o文件）
然后通过不一样的链接方式，生成动态库(.so)、静态库(.a)或可执行文件(.exe)
动态库可以直接通过源码编译生成
静态库	
程序在运行之前将静态库链接到可执行文件中，程序运行时不再需要静态库
生成方法：
1.xxx.c  --&amp;gt;  xxx.o
2.通过 ar -rc libxxx.a xxx.o  将xxx....]]></description><category></category></item><item><title><![CDATA[软\硬连接]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84872929</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84872929</guid><author>Code_ZX</author><pubDate>Fri, 07 Dec 2018 13:03:42 +0800</pubDate><description><![CDATA[软链接：
通过 （ln -s 文件名 软连接名） 创建一个文件的软链接
其实质是该文件的快捷方式
创建了一个新的文件，但是其内容是原来文件在数据区的路径（位置），只是分配了一个i节点
如图：

Linux演示实现：

硬链接：
通过 （ln 文件名 硬链接名） 创建一个文件的硬链接
该硬链接与原文件共用一个i节点
只是创建了一个新的文件名，并且将文件属性中的硬链接数进行+1操作（内核操作）
修改任...]]></description><category></category></item><item><title><![CDATA[基础文件I\O]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84865800</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84865800</guid><author>Code_ZX</author><pubDate>Thu, 06 Dec 2018 22:39:18 +0800</pubDate><description><![CDATA[标准输入，标准输出，标准错误
-----&amp;gt; stdin stdout stderr
实质：是文件指针(FILE*)，指向对应的文件结构体
库函数：对系统调用进行一层封装，使用户更容易使用系统调用
会自带缓冲区（fopen, fread, fclose, fwrite）
系统调用：操作系统提供的接口，用户可通过系统调用进行开发等…
(open, read, close, write, lsee...]]></description><category></category></item><item><title><![CDATA[Linux进程总结（下）]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84830540</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84830540</guid><author>Code_ZX</author><pubDate>Wed, 05 Dec 2018 13:02:12 +0800</pubDate><description><![CDATA[一、进程创建
fork()
原理：为子进程重新创建一个task_struct，以及对应的虚拟地址空间和页表，并且将父进程的		数据（包括缓冲区的数据）和代码拷贝一份至子进程pcb中
返回值：对父进程而言：fork()成功返回子进程的进程id；失败返回-1.	
对子进程而言：fork()成功返回0；失败返回-1。
fork返回值验证代码：
#include&amp;amp;lt;stdio.h&amp;amp;gt;       ...]]></description><category></category></item><item><title><![CDATA[虚拟地址空间]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84637257</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84637257</guid><author>Code_ZX</author><pubDate>Thu, 29 Nov 2018 17:57:26 +0800</pubDate><description><![CDATA[证明代码：
#include&amp;lt;stdio.h&amp;gt;                                                                           
 #include&amp;lt;unistd.h&amp;gt;                                                                      ...]]></description><category></category></item><item><title><![CDATA[进程——孤儿进程  僵尸进程]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84636809</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84636809</guid><author>Code_ZX</author><pubDate>Thu, 29 Nov 2018 17:32:32 +0800</pubDate><description><![CDATA[孤儿进程
概念：
父进程先于子进程退出
子进程没有父进程获取自身的退出状态，也就变成了孤儿进程
但是，所有的孤儿进程都被一号（init）进程所收养，由一号进程作为所有孤儿进程的父进程，负责孤儿进程的资源释放
产生孤儿进程代码：
 #include&amp;amp;lt;stdio.h&amp;amp;gt;                                                              ...]]></description><category></category></item><item><title><![CDATA[Linux进程总结（上）]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/84593992</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/84593992</guid><author>Code_ZX</author><pubDate>Wed, 28 Nov 2018 22:37:52 +0800</pubDate><description><![CDATA[进程概念：
1.个程序运行在操作系统上，即操作系统为该程序分配一系列的资源，并且将该进程描述为一个PCB(task_struct)结构体。
2. 进程即运行起来的程序，分配CPU资源的实体
task_struct结构体主要内容：
1.标识符，即进程id
2.上下文数据，保存进程执行时，寄存器当中的数据内容
3.程序计数器，保存当前进程所要执行的下一条命令
4.内存指针，指向进程执行所需要的数据和代...]]></description><category></category></item><item><title><![CDATA[C++继承总结]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/80924408</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/80924408</guid><author>Code_ZX</author><pubDate>Thu, 05 Jul 2018 11:30:14 +0800</pubDate><description><![CDATA[继承概念 
    在原有的类不变的基础之上，新增一些函数，对功能进行拓展

继承特点 
    是面向对象程序设计的的层次结构 
    是实现由简单到复杂的认知过程

基类：被继承的类 
派生类：在继承之后产生的新类

例子 
    手机系统会不断更新，然而，我们的手机更新之后的功能只是对原来的功能进行优化和新增

继承格式 
    派生类名 ：继承权限  基类名

继承权限  
  
注...]]></description><category></category></item><item><title><![CDATA[C++ 多态总结]]></title><link>https://blog.youkuaiyun.com/Code_ZX/article/details/80904635</link><guid>https://blog.youkuaiyun.com/Code_ZX/article/details/80904635</guid><author>Code_ZX</author><pubDate>Tue, 03 Jul 2018 21:27:23 +0800</pubDate><description><![CDATA[多态概念 
    同一个事物在不同环境下具有不同的状态

虚函数概念 
    在函数返回值前加上 virtual 关键字

多态分类 
    静态多态（早绑定）：在编译器编辑时确认要调用的函数 
      1、  函数重载 
        2、泛型编程 
    动态多态（晚绑定）：在程序运行时确认将要调用的函数 
       1、 基类中存在虚函数 
        2、继承当中对基...]]></description><category></category></item></channel></rss>