精华内容
下载资源
问答
  • 个10ms 帧被分为个5ms 半帧,每个半帧由4 个数据子帧和1 个特殊子帧构成。每个子帧分为个0.5ms时隙,每个时隙又可分为7 个OFDM 符号。特殊子帧则由总时长为1ms 的三个特殊时隙组成:下行导频时隙...

    http://www.mscbsc.com/askpro/response-322298.html

    根据 3GPP TS 36.211的定义,TDD-LTE 系统帧结构如图1 所示。一个10ms 帧被分为两个5ms 半帧,每个半帧由4 个数据子帧和1 个特殊子帧构成。每个子帧分为两个0.5ms时隙,每个时隙又可分为7 个OFDM 符号。特殊子帧则由总时长为1ms 的三个特殊时隙组成:下行导频时隙DwPTS,保护间隔GP,上行导频时隙UpPTS。三个特殊时隙的长度支持9 种配置选项。UpPTS 的长度为1~2 个符号;DwPTS 的长度为3~12 个符号;相应的GP 长度为1~10 个符号。TDD-LTE 上下行链路支持两种切换周期:5ms 和10ms。在5ms模式下,子帧#1 和子帧#6 均为特殊子帧,由所述三个特殊时隙组成。

    LTE 系统中的同步信道包括“主同步信号”和“辅同步信号”。主同步信号主要用于完成小区搜索的过程中快速地确定符号/帧的起始位置,即符号定时同步。

    主同步信号在帧中位于第1 和第6 子帧的第3 个OFDM 符号的资源粒子,参考图1 所示帧结构可知,即位于DwPTS 的第3 个OFDM 符号,其它OFDM 符号不传输信号。

    PSS(Primary Synchronization Signal)主同步信号频域上占系统带宽6个RB即72sc,指示一个物理小区组内的ID Physical-layer id:0,1,2(3个);SSS(Secondary Synchronization Signal)辅同步信号频域上占用6个RB即72sc,指示物理小区组号 Physical-layer cell-id group:0~167(168个);
    RS(Reference Signal)参考信号,就是常说的“导频”信号。下行参考信号有2个作用:1,下行信道质量测量;2,下行信道估计,用于UE端的相干检测和解调。下行参考信号是以RE为单位的,即一个参考信号占用一个RE(资源粒子)。这些参考信号可以分为两列:第1参考信号和第2参考信号。第一参考信号位于每个0.5MS时隙的第一个OFDM符号,第二参考信号位于每个时隙的倒数第三个OFDM符号。第一参考信号位于第一个OFDM符号有助于下行控制信号被尽早解调。在频域上,每6个子载波插入一个参考信号,这个数值是在信道估计性能和RS开销之间求取平衡的结果,既能在典型频率选择性衰落信道获得良好的信道估计性能,又能将RS控制在较低水平。RS的时域密度是每个时隙插入两行RS。

    转载于:https://www.cnblogs.com/mway/p/6587155.html

    展开全文
  • 我在上篇博客《SetWindowsHookEx 的资料整理与内部机理的深入分析》中详细介绍了SetWindowsHookEx的失败原因,今天又发现了个隐晦的错误原因,这也是我这么多天来一直在寻找的东西。起因是我想为个进程的所有...

    我在上一篇博客《SetWindowsHookEx 的资料整理与内部机理的深入分析》中详细介绍了SetWindowsHookEx的失败原因,今天又发现了一个隐晦的错误原因,这也是我这么多天来一直在寻找的东西。起因是我想为一个进程的所有线程都调用SetWindowsHookEx,现象是有些线程可以调用成功,有些线程不能调用成功。前些天一直在看windows,ReactOS相关的源代码,反汇编单步跟踪SetWindowsHookEx的执行流程,但是卡在了sysenter上,ring3级别的代码都一路跟踪过去了,到ring0的门口,一直试了好久都没能进去。今天转变了一下思路,为什么不在宏观上观察这些进程,成功的与不成功的都有什么特点呢?这也给我提了个醒,要有追究到底的坚持,也要有思路转变的灵活。

    好了,现在开始说这个隐晦的错误原因到底是怎么找到的。这里主要提供的是思路,如果不想看这些,就直接看后面绿色字体部分。

    1. 寻找答案

    线程分为成功Hook的和不成功Hook的,那么我的目标就是要找到这两类线程有什么不同之处。所以,问题转化为了得到尽可能多的有关线程的信息,比较他们的不同之处。这样,问题就定义好了。那么,如何找到问题的答案呢?

    1)Google

    Google的好处在于,在你知道的东西很少的时候,可以给你提供思路,这对知识量少的同学来说是非常重要的,因为新的线索可以提供新的思路。并且我们遇到的问题,很大程度上已经被别人遇到并解决了。但是Google不好的地方就是信息分散,太杂太乱。对于菜鸟来说,最重要的一个问题就是:不知道什么是可以做的,什么是不可以做的,什么是已经实现的,什么是一定要自己实现的。有时候连我们自己都不知道问题的定义是什么,又怎么能让Google帮我们精确的找到呢?

    2) MSDN

    说来惭愧,今天解决这个问题的一个瞬间,我才有一点明白知识要怎么学,MSDN要怎么用。前面说了,我们菜鸟不知道什么是已经实现的,什么是要自己实现的,那么,这应该怎么办?有一个字叫Reference(参考),这就是这里的关键,也是今天对我最大的启示。我们要找的是与线程有关的函数,首先Google:CreateProcess,来到这里。然后,就看到我要找Reference。看下面:

    页面的这一行就是关键,点开里面的Process and Thread Reference 或者Process and Thread functions。只需要把functions里面的东西仔细看一看,就可以大概知道什么是已经实现的,这样做比Google的效率要高很多。因为这样更加精准,所有与Process还有Thread相关的函数都在这里了。在这里,我发现了GetThreadTimes函数,这是一个突破,因为已经发现了与线程有关的时间信息。来试试吧!调用这个函数需要线程句柄,可是我只有线程Id,这时候,又在这个页面里发现了OpenThread函数,用这个函数就可以由线程ID得到线程句柄。然后,测试,发现了问题所在。

    当然,这种方法也有它不靠谱的地方,比如说,如果我刚才没有参考《WINDOWS 核心编程》就不会发现原来还有一个叫GetThreadContext的函数,这个函数并不在Process and Thread functions里,而在Debugging Function里面。

    这里的结论就是:多读书,多看参考,知道有什么,等用的时候,再去仔细看怎么用。


    2.问题在哪里

    如果要给一个进程的所有线程Hook,首先要得到这些线程,关于这一点,可以利用一组TOOL HELP FUNCTION来解决,用上面给出的思路,点这里。相信应该可以解决。

    1) 得到所有线程id:TOOL HELP FUNCTION

    2)得到每一个线程的时间信息:GetThreadTimes,并观察

    3)给每一个线程调用SetWindowsHookEx

    4)再给刚调用过SetWindowsHookEx函数的线程调用GetThreadTimes函数并观察

    4)观察调用SetWindowsHookEx成功的线程与失败的线程的时间有什么不同。



    3. 得出结论

    1)凡是SetWindowsHookEx调用成功的线程,UserTime或者KernelTime至少有一个不为0,并且此线程此时还要存活着。

    2)调用失败的线程,或者已经死亡,或者仍然存活,但UserTime和KernelTime在SetWindowsHookEx前后全部都为0!

    3)如果前两种情况都不符合,例如线程没有死亡,UserTime或者KernelTime至少有一个不为0,但是SetWindowsHookEx仍然调用失败了,或者UserTime或KernelTime都为0,进程存活,但是调用成功了。那么可以参考我前一篇博文,可能会有所启发,我这里也难以解释这种现象。


    特别注意1:千万要注意调用 OpenThread和GetThreadTimes的时候,一定要检查是否调用成功,如果调用不成功,一定要用GetLastError去看看到底因为什么调用不成功。否则你会以为这些进程的UserTime和KernelTime都为0,而实际上他们并不为0,只是你函数调用失败了,没有得到这些时间。这就会让我们的分析误入歧途!

    特别注意2:测试的过程中会发现,有些线程OpenThread和GetThreadTimes都成功了,并且UserTime和KernelTime也不为0,但是SetWindowsHookEx仍然调用失败了,这是什么原因呢?我用Process Explorer查看了这些线程,发现这些线程已经死亡了,不再出现在进程的线程列表中。

    特别注意3:测试的过程会发现,在调试模式下,权限会比较大,调用OpenProcess的时候可以用THREAD_ALL_ACCESS,OpenProcess和GetThreadTime不会因为没有权限而调用失败,如果调用失败了,一般是因为这些线程已经死亡了。这时OpenProcess返回错误代码87,参数不正确,GetThreadTime使用OpenProcess的返回值会返回NULL,错误代码6,无效句柄。而在正常模式下双击程序运行,OpenProcess如果使用THREAD_ALL_ACESS,那么会调用失败,同时GetThreadTime也会调用失败,错误代码为5,没有权限。关于如何提升进程的权限,参考下面:

    http://hi.baidu.com/invisiable/blog/item/41e4c3a13fa4a68f461064fb.html

    http://topic.csdn.net/u/20071023/18/78534432-2138-4444-9967-198e14e82468.html


    4.解决之道

    我查资料的过程中,很多人都说使用ToolHelp函数得到进程的所有线程,但是问题在于,ToolHelp函数只得到了那一时刻进程的快照,而进程时刻都处于生老病死中。要想真正为进程的每个线程Hook,是不是应该每隔一段时间就查询一下这个进程的所有线程,然后给每一个UserTime和KernelTime不全为0并且没有Hook过的线程进行Hook呢?这个我还没有试过。


    或许有更好的方法,或许我们要解决的问题根本就不需要用HOOK技术。

    转载请注明出处:http://blog.csdn.net/on_1y/article/details/7582347



    展开全文
  • 个n阶方阵(或是n阶行列式)中,从左上角到右下角这斜线上的n 个元素的位置,叫做n 阶方阵(或行列式)的对角线 对角线是什么: 就是和主对角线相对应的对角线,从矩阵的右上角到左下角,也叫次对角线 代码...

    C语言 输入一个5行5列的数组。1.求数组主对角线上元素的和。2.求出辅对角线上元素的积。3.找出主对角线上最大的值及其位置

    主对角线是什么:

    在一个n阶方阵(或是n阶行列式)中,从左上角到右下角这一斜线上的n 个元素的位置,叫做n 阶方阵(或行列式)的主对角线

    辅对角线是什么:

    就是和主对角线相对应的对角线,从矩阵的右上角到左下角,也叫次对角线

    代码:

    #include <stdio.h>
    void main(){
    int num[5][5];
    int i,j;
    printf(“请输入一组5 * 5的数列:\n”);
    for(i=0;i<5;i++)//输出5 * 5的数组
    for(j=0;j<5;j++)
    scanf("%d",&num[i][j]);

    int s=0;
    for(i=0;i<5;i++)//求主对角线上元素的和
    for(j=0;j<5;j++)
    if(i==j)
    s=s+num[i][j];
    printf(“主对角线上元素的和为:%d\n”,s);

    int m=1;
    for(i=0;i<5;i++)//求辅对角线上元素的积
    for(j=0;j<5;j++)
    if(i+j==4)
    m=m*num[i][j];
    printf(“辅对角线上元素的积为:%d\n”,m);

    int max=num[0][0];
    for(i=0;i<5;i++)//求出主对角线最大的值
    for(j=0;j<5;j++)
    if(i==j&&num[i][j]>max)
    max=num[i][j];
    printf(“主对角线上最大的值为:%d\n”,max);

    for(i=0;i<5;i++)//求出主对角线最大的值的位置
    for(j=0;j<5;j++)
    if(i==j)
    if(num[i][j]==max){
    printf(“其位置为%d行,%d列\n”,i+1,j+1);
    break;}
    }

    运行结果:

    在这里插入图片描述

    展开全文
  • 什么qq用的UDP为,而TCP为辅助

    千次阅读 2017-02-15 20:35:11
    .TCP和UDP的区别    这种传输协议也用于不同的业务和不同的硬件终端。  1、类似于图像、声音等对可靠性要求没有那么高的业务可以用UDP,他们不需要准确存储对准确性无要求但要求速度快。   类似于文本、...
    一.TCP和UDP的区别 
     
    这两种传输协议也用于不同的业务和不同的硬件终端。 


    1、类似于图像、声音等对可靠性要求没有那么高的业务可以用UDP,他们不需要准确存储对准确性无要求但要求速度快。 

         类似于文本、程序、文件等要求可靠的数据最好就用TCP,但会牺牲一些速度。 

    2、对系统资源的要求:TCP较多,UDP少。 

    3、程序结构:UDP程序结构较简单,TCP复杂。 

    4、流模式与数据报模式: TCP保证数据正确性,UDP可能丢包; 

                                         TCP保证数据顺序,UDP不保证 


    二.用途 

    1、TCP是面向连接的,有比较高的可靠性,一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等

        而UDP是面向无连接的,使用这个协议的常见服务有DNS、SNMP、QQ等。

     

    UDP是一种面向无连接的通信协议,该协议使得数据传输的速度得到大幅度的提高。视频聊天语音聊天基本都是用UDP协议。


    三、QQ以UDP为主,TCP为辅

          QQ即使传文件也是以UDP为主,主要是从服务器的角度来考虑:  

         首先每一个客户实际上都适合服务器交互,再由服务器转发给正在通信的用户,如果每一个QQ从一上线到下线的这段时间全部采用TCP长连接,这对服务器的负担很大,而如果采用TCP短连接,频繁的连接断开也会造成网络负担,二采用UDP则可以避开上述麻烦,减少服务的负担。


        不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000。 UDP协议是无连接方式的协议,它的效率高,速度快,占资源少,但是其传输机制为不可靠传送,必须依靠辅助的算法来完成传输控制。QQ采用的通信协议以UDP为主,辅以TCP协议。由于QQ的服务器设计容量是海量级的应用,一台服务器要同时容纳十几万的并发连接,因此服务器端只有采用UDP协议与客户端进行通讯才能保证这种超大规模的服务。  

        QQ客户端之间的消息传送也采用了UDP模式,因为国内的网络环境非常复杂,而且很多用户采用的方式是通过代理服务器共享一条线路上网的方式,在这些复杂的情况下,客户端之间能彼此建立起来TCP连接的概率较小,严重影响传送信息的效率。而UDP包能够穿透大部分的代理服务器,因此QQ选择了UDP作为客户之间的主要通信协议。  

          采用UDP协议,通过服务器中转方式。因此,现在的IP侦探在你仅仅跟对方发送聊天消息的时候是无法获取到IP的。大家都知道,UDP 协议是不可靠协议,它只管发送,不管对方是否收到的,但它的传输很高效。但是,作为聊天软件,怎么可以采用这样的不可靠方式来传输消息呢?于是,腾讯采用了上层协议来保证可靠传输:如果客户端使用UDP协议发出消息后,服务器收到该包,需要使用UDP协议发回一个应答包。如此来保证消息可以无遗漏传输。之所以会发生在客户端明明看到“消息发送失败”但对方又收到了这个消息的情况,就是因为客户端发出的消息服务器已经收到并转发成功,但客户端由于网络原因没有收到服务器的应答包引起的


    注: 对于QQ,QQ2003以前是只使用UDP协议的,其服务器使用8000端口,侦听是否有信息传来,客户端使用4000端口,向外发送信息(这也就不理解在一般的显IP的QQ版本中显示好友的IP地址信息中端口常为4000或其后续端口的原因了),即QQ程序既接受服务又提供服务,在以后的QQ版本中也支持使
    TCP协议了。


    参考资料

    http://www.360doc.com/content/14/0715/10/12928831_394511484.shtml

    http://javapub.iteye.com/blog/681138

    https://www.zhihu.com/question/20292749

    展开全文
  • 码流和码流的区别

    千次阅读 2020-01-14 09:38:24
    一般高清摄像头产品编码器可同时产生个不同的编码格式,统称码流和子码流,双码流技术兼顾了高质量图像传输和窄 带宽传输。 码流用于本地存储,子码流适用于图像在低带宽网络上传输。 双码流采用一路高码率的...
  • 域控升级成域控

    千次阅读 2009-08-12 12:54:00
    .其实,对于windows 2003,并...什么是FSMO?FSMO的英文全称为Flexible Single Master Operations.这些角色包括:★架构主机 (Schema master) - 架构主机角色是林范围的角色,每个林个。此角色用于扩展 Active Dire
  • 1.准备台服务器作为域服务器AD1,域服务器AD22.保证AD1,AD2网络正常3.安装AD域服务和DNS服务4.首先配置域服务器AD1,打开DNS在正向查找区域处右键,新建区域选择主要区域输入域名下一步默认不动态更新即可点击...
  • AppCan基础——窗口 & 窗口机制

    千次阅读 2012-08-02 17:25:01
    1、窗口 & 窗口机制 常用的手机应用(App)设计界面,都分为top,content,bottom三块区域,但是在android2.1以下,ios4以下版本的webkit存在如下问题: 不支持div滚动条 Css样式的{position:fixed}属性不...
  • 码流与码流的区别

    万次阅读 2017-07-18 10:35:49
    一般高清摄像头产品编码器可同时产生个不同的编码格式,统称码流和子码流,双码流技术兼顾了高质量图像传输和窄 带宽传输。 码流用于本地存储,子码流适用于图像在低带宽网络上传输。 双码流采用一路高...
  • 首先我们要了解一下什么是域名,当我们在没有DNS域名解析服务器去访问某台服务器的时候,我们只能基于IP去访问,但由于IP难记且不方便。我们需要种来取代它,就是域名,好比www.baidu.com(对应的IP地址是119.75....
  • Linux中dns和dns服务器的简单配置

    万次阅读 2013-10-13 12:52:02
    1、首先安装dns和dns所需要的软件包,系统默认会安装:bind-libs-9.3.6-4.Pl.e15、ypbind-1.19-12.e15这个软件包,还需要安装bind-9.3.6-4.pl.e15、bind-utils-9.3.6-4.pl.e15、bind-chroot-9.3.6-4.pl.e15...
  • NoSQL设计思想(从

    千次阅读 2015-03-25 13:31:48
    NoSQL架构实践()——以NoSQL为 本文为凤凰网负责底层组的...前面《为什么要使用NoSQL》和《关系数据库还是NoSQL数据库》篇从大体上介绍了为什么要用NoSQL,何时该用NoSQL。经常有朋友遇到困惑,看到NoSQL的
  • 前几天进行服务器巡检,巡检的服务器安装的是Windows ... 通过查找资料发现:每个组策略对象(Group Policy Object,GPO)都有个部分,个是在AD中的对象,而另个是在Sysvol共享文件夹中的文件。在AD中的对...
  • LINUX下dns的搭建(dns和辅助dns)

    千次阅读 2018-04-10 13:35:47
    首先,看看dns是否安装,这里...我们在虚拟机属性面板点击连接,默认是未勾选的然后我们在桌面就会发现个DVD的标志,我们点击它,选择server(在这里补充一下,结合一下我所见到的问题,可能会出现找不到server文...
  • 建立DNS区域和辅助DNS区域的最佳实践说明:合理规划并建立DNS区域是科学建立AD域的前提。这里打算用台服务器作为将来AD域的DNS域名解析,他们分别命名为SVR1和SVR2,域名为MYSITE.com。设置DNS区域1、首先分别...
  • SELECT u.code,u.name,p.pm10,d.voltage1 FROM t_device AS u LEFT JOIN (t_device_r_data AS p LEFT JOIN t_r_airelectryvalue AS d ON p.code=d.code) ON u.code=p.code ;
  • 线程同步辅助类

    万次阅读 2017-05-17 00:04:55
    Exchanger是Java并发API提供的个同步辅助类,允许在并发任务之间交换数据,Exchanger类允许在个线程之间定义同步点,当个线程都到达同步点时,它们交换数据结构,因此第个线程的数据结构进入到第二个线程中...
  • 、原理:大致简述一下,谷歌已经在View、ViewGroup、TextView等控件的文字改变、滑动、UI变化埋下了接口,当这些状态变化时控件会回调系统API,API系统然后对这些对象的数据进行组装,为了数据的安全性,系统会...
  • 虚存,内存,主存,

    千次阅读 2016-01-21 16:23:35
    1、内存  cache和主存构成了系统的内存。 2、虚拟存储器  主存和存依靠辅助软... 当个进程在运行时,其页表中部分在主存中,另部分在存中保存。  由于主存属于内存,存属于外存,所以粗糙点讲,页表
  • 存储器分为: *寄存器 *Cache(高速缓冲存储器) *存储器 *存储器 、存储器的存取方式 存取方式 读/写装置 数据块标志 访问特性 代表 1、顺序存取 共享读/写装置 ...
  • 部署DNS之辅助区域

    千次阅读 2015-06-16 17:24:48
    为了防止DNS服务器由于各种软硬件故障导致停止DNS服务,建议在同个网络中部属台或台以上的DNS服务器。其中台作为DNS服务器,其他的作为辅助DNS服务器。当DNS服务器正常运行时,辅助DNS服务器只起备份...
  • 用例模型主要包括以下部分内容: 用例图(Use Case Diagram) 确定系统中所包含的参与者、用例和两者之间的对应关系,用例图描述的是关于系统功能的个概述。 用例规约(Use Case Specification) 针对每个用例都...
  • 目录 第1章 同步信号块SSB概述 1.1 与同步信号块SSB相关的无线时频资源 1.2同步信号块SSB概述 1.3同步信号块SSB的来源和...3.2 同步信号m/zc序列PSS的内容 3.3辅助同步序列SSS的内容 3.4 物理小区广播信道PB...
  • 域宕机后重新加域

    千次阅读 2016-10-17 15:02:25
    实验背景:台服务器,一主域发现无法从主域同步信息,日志显示的错误id为1864,信息为:此目录服务器最近尚未接收到来自一系列目录服务器的复制信息。大体步骤: 域删除域服务,使之还原成一台普通的...
  • moosefs使用辅助文件系统,恢复文件

    万次阅读 2020-11-19 10:15:16
    文章目录 查看moosefs垃圾回收时间二 挂载moosefs辅助文件系统三 undel恢复文件1 单文件恢复2 多文件批量恢复 moosefs文件系统,client客户端误删除或丢失的文件是可以通过moosefs的文件辅助系统恢复的。 查看...
  • 【Android 开发教程】辅助方法

    千次阅读 2012-08-28 14:58:54
    菜单可以用来显示额外的选项,这些选项也不必出现在界面中。在Android框架中,主要有2种菜单:选项菜单 —— 显示与当前活动有关的信息。使用MENU键,可以触发这个菜单。上下文菜单 —— 显示与活动中某个视图...
  • mysql集群:一主多从架构实现

    千次阅读 2019-05-05 09:15:04
    实验环境: 1、三台CentOS 7 服务器 2、mysql5.7.26(三台都通过yum安装) 服务器列表 47.100.222.111 master 47.103.211.5 slave1 ...、概述: 架构图: 此种架构,一般初创...
  • 本文转载自公众号:不止思考 在互联网项目中,当业务规模越来越大,数据越来越多,随之而来的就是数据库压力会越来越大...这里先不看细节,即先不管底层数据源是什么数据库,我们先只聊架构方案,因为无论底层是关系型
  • 存储器

    千次阅读 2018-11-16 22:36:56
    存储器层次结构 缓存-主存层次,主存-存层次 缓存的功率大于主存,速度高于主存,缓存和主存之间,通过硬件技术进行连接,为了解决...存储体----存储单元(存储串二进制串)----存储元件(存储个0/1)...
  • 你首先是个人,然后你才是程序员。

    万次阅读 多人点赞 2017-03-23 11:47:26
     当时这个简友问了群主一个非常少见的问题,“LZ,你平时是如何保养你的皮肤的。”  看完这个,LZ忍不住乐了,过后还拿着手机忍不住给某璐璐炫耀了一番,“你看你看,你现在知道你老公帅了吧,别人都问我如何保养...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 160,320
精华内容 64,128
关键字:

一主两辅是什么