噪声自适应混合QCNN:量子机器学习在NISQ时代的创新架构
2026/5/8 12:37:29
操作系统的目标如下:
常见的计算机(如笔记本 服务器),大多数都遵循冯诺依曼体系!
printf的本质:是你把你的数据写到了硬件(显示器)
整个计算机软硬件架构中,操作系统的定位:一款纯正的"搞管理"的软件
库函数和系统调用是上下层的关系!
操作系统管理进程:先描述后组织
可以在内核源代码里找到他
所有运行在系统里的进程都以task_struct链表的形式存在内核中!
进程 id (PID)
父进程 id (PPID)
fork之后通常要用if进行分流
• 为了弄明⽩正在运⾏的进程是什么意思,我们需要知道进程的不同状态。⼀个进程可以有⼏个状态
(在Linux内核⾥,进程有时候也叫做任务)。
下⾯的状态在kernel源代码⾥定义:
创建一个维持30s的僵尸进程的例子:
在Linux或unix系统中,用ps-l 命令则会类似输出以下几个内容:
参考一下Linux内核0.11代码
如果有多个CPU就要考虑进程个数的负载均衡问题!
在系统中查找一个最合适调度的进程的时间复杂度是一个常数,不随着
进程增多而导致时间成本增加,我们称之为进程调度O(1)算法!
echo $NAME // NAME: 你的环境变量名称
libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头⽂件中,所以在使⽤时 要⽤extern声明。
环境变量通常具有全局属性,可以被子进程继承下去!
然后修改成以下的代码试一下
之前说虚拟地址空间不准确,准确的应该说成进程地址空间!
代码如下(示例):
structvm_area_struct{unsignedlongvm_start;//虚存区起始unsignedlongvm_end;//虚存区结束structvm_area_struct*vm_next,*vm_prev;//前后指针structrb_nodevm_rb;//红⿊树中的位置unsignedlongrb_subtree_gap;structmm_struct*vm_mm;//所属的 mm_structpgprot_tvm_page_prot;unsignedlongvm_flags;//标志位struct{structrb_noderb;unsignedlongrb_subtree_last;}shared;structlist_headanon_vma_chain;structanon_vma*anon_vma;conststructvm_operations_struct*vm_ops;//vma对应的实际操作unsignedlongvm_pgoff;//⽂件映射偏移量structfile*vm_file;//映射的⽂件void*vm_private_data;//私有数据atomic_long_tswap_readahead_info;#ifndefCONFIG_MMUstructvm_region*vm_region;/* NOMMU mapping region */#endif#ifdefCONFIG_NUMAstructmempolicy*vm_policy;/* NUMA policy for the VMA */#endifstructvm_userfaultfd_ctxvm_userfaultfd_ctx;}__randomize_layout;