
操作系统
文章平均质量分 60
SUKI547
从放弃到入门
展开
-
解决memory cgroup下无memsw.xx设置项
问题描述在cgroup中对内存进行管理,发现只有memory.xx设置项,没有memsw.xx解决方法这是内核不支持内存限制,需要对启动项进行更改vim /etc/default/grub..GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"..#更新update-grub#重启reboot再次查看 /sys/fs/cgroup/memory成功解决...原创 2021-01-07 18:47:33 · 652 阅读 · 0 评论 -
【Linux内核笔记】Cache 页高速缓存
文章目录cache缓存手段写缓存缓存回收缓存回收策略address_spaceaddress_space操作缓冲区高速缓存buffer回写操作cachecache用于实现磁盘缓存(缓存内存物理页面),减少对磁盘的IO操作。具体是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。cache可以动态调整:通过占用空闲内存以扩张大小,也可以自我收缩以缓解内存使用压力。正被缓存的存储设备为后备存储。因为缓存背后的磁盘无疑才是所有缓存数据的归属。当内核开始一个读操作,首先会检查需要的原创 2020-12-28 16:19:12 · 552 阅读 · 0 评论 -
Linux 内核笔记 cfs/rt进程调度,task_group组调度与cgroup
从cgroup的period 与runtime具体如何影响线程cpu使用问题来的,大佬写的不错,就不拾人牙慧了,上链接第一步 如果对进程调度不太清楚,先看进程调度浅析第二步 cfs调度器浅析补充,cfs调度总结第三步 进程组调度第四步 cgroup中cpu子系统...原创 2020-12-03 11:04:07 · 1694 阅读 · 0 评论 -
[Cgroup笔记]基础知识:子系统subsystems、层级hierarchies、任务tasks及它们之间的关系
文章目录简介子系统subsystems层级 hierarchies任务tasks使用方法实例1实例2简介Cgroup 可让您为系统中所运行任务(进程)的用户定义组群分配资源 – 比如 CPU 时间、系统内存、网络带宽或者这些资源的原创 2020-11-27 17:18:16 · 1327 阅读 · 0 评论 -
【Linux内核笔记】Linux进程地址空间:内存描述符,虚拟内存区域
文章目录地址空间地址空间进程地址空间——进程可寻址的虚拟内存,内核允许进程使用该虚拟内存中的地址每个进程有32/64位的flat(独立的连续)地址空间内存区域(memory areas)——进程允许访问的虚拟内存的地址区间进程访问了不在有效范围内的内存区域,或不正确的访问方式访问了有效地址,内核会终止该进程,返回“段错误”信息 segment fault内存区域可以包含各种内存对象代码段 text section——可执行文件代码的内存映射数据段 data section——可执行文件原创 2020-11-20 16:42:45 · 728 阅读 · 0 评论 -
【Linux内核笔记】内核内存管理
文章目录页区获得释放低级页kmalloc()gfp_mask标志vmalloc()slab层在栈上静态分配高端内存的映射每个CPU数据总结:分配函数的选择页内核管理内存的基本单位每个物理页都由struct page表示,位于<linux/mm_types.h>。 假设每个结构体40byte, 物理页8KB, 4GB物理内存。则有2182^{18}218页,结构体占用20MB,并不大。struct page{ flags //页状态 _count//引用计数,-1当前内核没原创 2020-11-17 11:12:12 · 366 阅读 · 0 评论 -
【Linux内核笔记】中断、中断处理程序和下半部 概念简介
文章目录中断中断上下文中断处理程序中断处理下半部与下半部机制中断硬件在需要的时候向内核发出信号硬件 -电信号-> 中断控制器输入引脚 -中断号->处理器不考虑时钟同步(异常考虑时钟同步,处理方式和中断相似)中断上下文也称原子上下文,与进程无关。不可阻塞中断处理程序interrupt handler、interrupt service routine, ISR 是驱动程序的一部分Linux内核中是C函数驱动request_irq() 注册中断处理程序,激活中断线。包含参数:原创 2020-08-26 15:39:47 · 243 阅读 · 0 评论 -
[求助] linux编译内核模块 sched.h 找不到
本机/usr/include/sched.h存在,且是目标头文件GCC编译目录也包含这个路径#include "..." search starts here:#include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-lin原创 2020-06-19 16:39:36 · 2427 阅读 · 1 评论 -
Linux内核 make: *** /lib/modules/4.xxxx-generic/build: 没有那个文件或目录.
问题背景:hook 系统调用 在加载模块时error. 原因应该是内核4.X版本太高,内核代码有更改。降级系统后发现没有3.16 -generic 目录遇到这个错误,主要是没安装内核安装包(类似于kernel-devel的名字)但是这种情况下一般有两种情况:有安装内核开发包,但是因为各种各样的原因没有识别。 首先到/lib/modules/4.4.0-53-generic/(这里的版本号需...原创 2020-03-12 13:57:42 · 11596 阅读 · 0 评论 -
【Linux内核笔记】内核数据结构
文章目录链表Linux内核中的实现Linux内核链表操作队列FIFO队列操作映射映射UID操作二叉树二叉搜索树BST自平衡二叉树红黑树rbtree算法复杂度大O符号时间复杂度总结数据结构以及选择本笔记不详细讲述数据结构。链表链表是一种存放和操作可变数量元素(常称为节点)的数据结构无须在内存中占用连续内存区,是Linux内核中最简单、最普通的数据结构链表有单向链表、双向链表、环形链表、环...原创 2020-02-16 18:47:35 · 730 阅读 · 0 评论 -
Ubuntu装机软件 【持续更新】
文章目录pythonjavavscodegitvi 编辑 无法删除 上下键失灵sogou inputpythonsudo apt-get install python3.5sudo apt-get install python3-pipsudo update-alternatives —install /usr/bin/python python /usr/bin/python3 150...原创 2020-02-05 22:47:54 · 207 阅读 · 0 评论 -
【悲惨世界】我是如何重装第6个Ubuntu系统的
大写加粗,玩Linux能不用Mac就不用Mac一血 这锅得Mac背最初一切安好,平安顺遂,2019年那是一个春天,在我mbp2016 13寸的小本子升级了OS 13.3某一安全更新后,parallel的Ubuntu16.04再也进不去了。键盘乱码(这个键盘粘连问题,Mac本来就有,现在我的a和u经常粘连)无法在tty进入系统。忍痛删除,重装试试二血重装当然问题依旧,没办法,只能用别人的Wi...原创 2020-01-16 14:28:25 · 1943 阅读 · 2 评论 -
【已解决】Ubuntu安装vscode 打开界面空白
ubuntu 16.04 在vs官网下载.deb 或者tar.gz包打开都是空白界面暗中拖vscode侧边栏拉出来可以看到是有icon的。估计里面是好的,就是显示不出来。有没有大佬知道救命!...原创 2020-01-16 11:39:33 · 8526 阅读 · 12 评论 -
【Linux内核笔记】系统调用
与内核通信用户空间-syscall-硬件设备统一接口、稳定安全、易于管理API、POSIX和C库POSIX是接口标准接口提供机制mechanism而不是策略policy系统调用通常负的返回值表明错误,0正常。系统调用把错误情况写入errno全局变量。perror()函数翻译为可理解的错误字符串asmlinkage long sys_callxx()编译指令,仅从栈中提取函数参数。...原创 2020-01-15 15:25:47 · 411 阅读 · 0 评论 -
【Linux内核笔记】进程调度
文章目录进程调度原理进程优先级Linux调度算法Unix系统中的进程调度公平调度Linux调度的实现时间记账进程选择调度器入口睡眠和唤醒抢占和上下文切换用户抢占内核抢占实时调度策略与调度有关的系统调用与调度策略和优先级相关的系统调用与处理器绑定有关的系统调度放弃处理器时间进程调度原理进程调度程序:分配有限处理器时间资源抢占式多任务 preemptive multitaskingLinux ...原创 2020-01-15 15:24:03 · 665 阅读 · 0 评论 -
【Linux 内核笔记】进程管理
clone()-fork()-exec()-exit() 子进程结束ZOMBIE 父进程wait4()进程描述符 task_struct进程所有信息 由thread_info分配。为了提高current宏找进程描述符的速度,方便使用偏移量计算进程描述符进程状态TASK_RUNNINGTASK_INTERRUPTIBLETASK_UNINTERRUPTIBLETASK_ZOMBI...原创 2020-01-15 15:21:50 · 465 阅读 · 0 评论 -
线程状态对应汇总(BASH ps命令、Linux内核 、Java jdk线程状态)
ps 命令ps -lUID/PID/PPID:代表『此进程被该 UID 所拥有/进程的 PID 号/此进程的父进程 PID 』F:代表这个进程旗标 (process flags),说明这个进程的权限,常见有:若4 表示此进程的权限 root ;若1 則表示此子进程仅能fork。S:代表这个进程的状态 (STAT),主要的状态有:R (Running):该进程正在运行;S (Sl...原创 2019-12-05 20:37:06 · 549 阅读 · 0 评论 -
Linux系统调用表(64位)
系统调用号函数名入口点源代码0readsys_readfs/read_write.c1writesys_writefs/read_write.c2opensys_openfs/open.c3closesys_closefs/open.c4statsys_newstatfs/s...转载 2019-11-29 18:00:45 · 6116 阅读 · 0 评论 -
Linux操作系统bash命令列表
alias Create an alias • apropos Search Help manual pages (man -k) apt-get Search for and install software packages (Debian/Ubuntu) aptitude Search for and install software packages (Debia...转载 2019-11-28 16:44:11 · 1106 阅读 · 0 评论 -
Linux 进程与线程
进程进程是程序在资源集合上的一次运行进程= 代码+外设+内存+CPU(使用周期划分时间片轮流分割,满足并发)进程 = 线程集合+资源集合进程 = 进程PCB+资源+全局data+code +(线程PCB+线程用户栈/核心栈)*n引入线程的原因把进程的两项功能“独立分配资源”和“被调度分派执行”分离开来。前一任务由进程完成,后一项交给线程这个实体多线程切换只需改变堆栈和寄存器。...原创 2019-06-26 17:10:10 · 264 阅读 · 0 评论 -
并发与并行的区别
来自《操作系统教程》(第五版)第一章 操作系统概论并发并发性(concurrency) 是指两个或两个以上的活动或事件在同一时间间隔内发生。并行并行性(parallelism) 是指两个或两个以上的活动或事件在同一时刻发生。区别在单CPU系统中,多个程序并发执行是宏观上的概念,微观上,它们是顺序执行的。在多CPU系统中,并发性不仅体现在宏观上,而且体现在微观上,这称为并行...原创 2019-11-06 16:57:17 · 357 阅读 · 0 评论 -
死锁(Deadlock)、活锁(LiveLock)、饥饿(Starvation)、挂起(Suspension)
最近在做并发缺陷的分类,发现不同学者对缺陷分类粒度不同,现对其中几个概念重述,欢迎交流!本文以书面文字为准,附上说明来源。若希望简单易懂的举例,请移步死锁,活锁和饥饿死锁1971年,Coffman总结系统产生死锁必定同时保持如下4个必要条件。互斥条件(mutual exclusion):临界资源是独占资源,进程应互斥且排他地使用这些资源。占有和等待条件(hold and wait):...原创 2019-10-22 16:11:21 · 3883 阅读 · 0 评论