标签: 操作系统

Qbian | 2022-11-23 | 后端相关Go操作系统

当谈论协程时,我们在谈论什么

作者:watsonliu,腾讯 WXG 应用开发工程师 「什么是协程?」几乎是现在面试的必考题。一方面,Donald E. Knuth 说「子过程是协程的一种特殊表现形式」;另一方面,由于 coroutine 的中文翻译「协程」中包含有「程」字,因此一般会拿来与「进程」、「线程」进行比较,称为「轻量级线程」。 第一部分介绍协程的历史; 第二部分主要是介绍函数调用和协作式多任务处理,虽然其他介绍协程的文章中也都讲解了函数调用,在本文中,我在构思如何进行分享时,特意使用汇编来实现函数调用 (汇编实现 main 调用 hello ),为后面实现简单的协程库做好铺垫,而这正是理解协程切换的关键,推荐大家阅读; 第三部在实现了一个简单的协程库后,通过对比来加深理解,然后介绍 libco hook 的实现; 第四部分介绍使用协程时需要注意的一些问题。 在本文中,我将试着去回答以下四个问题: Q1 (Why): 为什么需要协程? 我们会一起回顾协程出现的历史背景,当时要解决什么问题;同时,现在是什么场景,需要使用协程来进行处...

 1197 |  2 |  0 后端相关Go

gOod mornIng | 2022-06-29 | 操作系统

联想电脑win11系统快捷键与idea冲突问题解决

联想电脑thinkpad14P热键与idea冲突 新买的电脑是win11系统,发现每次用idea的alt+insert快捷键都会弹出来 联想电脑管家,找了好多方法,都没解决。 最后才发现原来是因为电脑热键开启了。 解决:按住Fn+Esc,如果你发现Esc键盘灯亮起,此时就关闭了电脑热键。 这样就可以在idea自由操作啦。

 735 |  3 |  1 操作系统

动感超人, | 2022-06-28 | 后端相关操作系统

说说 linux 系统下 文本编辑常用的命令有哪些?

一、是什么 Vim 是从 vi 发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方 而 vim 可以说是程序开发者的一项很好用的工具 二、使用 基本上 vi/vim 共分为三种模式,分别是: 命令模式(Command mode) 输入模式(Insert mode) 底线命令模式(Last line mode) 命令模式 Vim 的默认模式,在这个模式下,你不能输入文本,但是可以让我们在文本间移动,删除一行文本,复制黏贴文本,跳转到指定行,撤销操作,等等 移动光标 常用的命令如下: h 向左移动一个字符 j 向下移动一个字符 k 向上移动一个字符 -

 898 |  1 |  0 后端相关操作系统

动感超人, | 2022-06-28 | 后端相关操作系统

说说什么是进程?什么是线程?区别?

一、进程 操作系统中最核心的概念就是进程,进程是对正在运行中的程序的一个抽象,是系统进行资源分配和调度的基本单位 操作系统的其他所有内容都是围绕着进程展开的,负责执行这些任务的是 CPU 进程是一种抽象的概念,从来没有统一的标准定义看,一般由程序、数据集合和进程控制块三部分组成: 程序用于描述进程要完成的功能,是控制进程执行的指令集 数据集合是程序在执行时所需要的数据和工作区 程序控制块,包含进程的描述信息和控制信息,是进程存在的唯一标志 二、线程 线程 (thread)是操作系统能够进行 运算调度 的最小单位,其是进程中的一个执行任务(控制单元),负责当前进程中程序的执行 一个进程至少有一个线程,一个进程可以运行多个线程,这些线程共享同一块内存,线程之间可以共享对象、资源,如果有冲突或需要协同,还可以随时沟通以解决冲突或保

 915 |  0 |  0 后端相关操作系统

动感超人, | 2022-06-28 | 后端相关操作系统

说说你对 shell 的理解?常见的命令?

一、是什么 Shell 是一个由 c 语言编写的应用程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言 它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核 其本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,它和 QQ、微信等其它软件没有什么区别,特殊的地方就是开机立马启动,并呈现在用户面前 主要作用是接收用户输入的命令,并对命令进行处理,处理完毕后再将结果反馈给用户,比如输出到显示器、写入到文件等,同样能够调用和组织其他的应用程序,相当于一个领导者的身份,如下图: 那么 shell 脚本就是多个 Shell 命令的组合并通过 if 条件分支控制或循环来组合运算,实现一些复杂功能,文件后缀名为 .sh 常用的 ls 命令,它本身也是一个 ...

 1003 |  1 |  0 后端相关操作系统

动感超人, | 2022-06-28 | 后端相关操作系统

说说你对输入输出重定向和管道的理解?应用场景?

一、是什么 linux 中有三种标准输入输出,分别是 STDIN , STDOUT , STDERR ,对应的数字是0、1、2: STDIN 是标准输入,默认从键盘读取信息 STDOUT 是标准输出,默认将输出结果输出至终端 STDERR 是标准错误,默认将输出结果输出至终端 对于任何 linux 命令的执行会有下面的过程: 一条命令的执行需要键盘等的标准输入,命令的执行和正确或错误,其中的每一个双向箭头就是一个通道,所以数据流可以流入到文件端( 重定向或管道 ) 简单来讲,重定向就是把本来要显示在终端的命令结果,输送到别的地方,分成: 输入重定向:流出到屏幕如果命令所需的输入不是来自键盘,而是来自指定的文件 输出重定向:命令的输出可以不显示在屏幕,而是写在指定的文件中 管道就是把两个命令连接起来使用,一个命令的输出作为另一个命令的输

 1016 |  0 |  0 后端相关操作系统

动感超人, | 2022-06-28 | 后端相关操作系统

说说你对 linux 用户管理的理解?相关的命令有哪些?

一、是什么 Linux是一个多用户的系统,允许使用者在系统上通过规划不同类型、不同层级的用户,并公平地分配系统资源与工作环境 而与 Windows 系统最大的不同, Linux 允许不同的用户同时登录主机,同时使用主机的资源 既然是多用户的系统,那么最常见的问题就是权限,不同的用户对于不同的文件都应该有各自的权限 例如,小 A 希望个人文件不被其他用户读取,而如果不对文件进行权限设置,共享了主机资源的小 B 也可以读取小 A 的个人文件,这是不合理的 这里面涉及到用户与用户组的概念 二、用户与用户组 Linux 以 “用户与用户组” 的概念,建立用户与文件权限之间的联系,保证系统能够充分考虑每个用户的隐私保护,很大程度上保障了 Linux 作为多用户系统的可行性 从文件权限的角度出发,“用户与用户组” 引申为三个具体的对象: 文件所有者 用户组成员 其他人 每一个对象对某一个文件的持有权限是不同的 文件所有者 当一个用户创建了一个文件,这个用户就是这个文件的文件所有者。文件所有者对文

 863 |  1 |  0 后端相关操作系统

动感超人, | 2022-06-28 | 后端相关操作系统

说说 linux系统下 文件操作常用的命令有哪些?

一、是什么 Linux 是一个开源的操作系统(OS),是一系列Linux内核基础上开发的操作系统的总称(常见的有Ubuntu、centos) 系统通常会包含以下4个主要部分 内核 shell 文件系统 应用程序 文件系统是一个 目录树的结构 ,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录 二、文件操作 常见处理目录的命令如下: ls(英文全拼:list files): 列出目录及文件名 cd(英文全拼:change directory):切换目录 pwd(英文全拼:print work directory):显示目前的目录 mkdir(英文全拼:make directory):创建一个新的目录 rmdir(英文全拼:remove directory):删

 835 |  1 |  0 后端相关操作系统

动感超人, | 2022-06-28 | 前端相关操作系统

说说你对操作系统的理解?核心概念有哪些?

一、是什么 操作系统(Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序,同时也是计算机系统的内核与基石 简单来讲,操作系统就是一种复杂的软件,相当于软件管家 操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务, 操作系统的类型非常多样,不同机器安装的操作系统可从简单到复杂,可从移动电话的嵌入式系统到超级电脑的大型操作系统,在计算机与用户之间起接口的作用,如下图: 许多操作系统制造者对它涵盖范畴的定义也不尽一致,例如有些操作系统集成了图形用户界面,而有些仅使用命令行界面,将图形用户界面视为一种非必要的应用程序 二、核心概念 操作系统的核心概念都是对具体物理硬件的抽象,主要有如下:

 684 |  1 |  0 前端相关操作系统

没有更多了