首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏计算机学习

    xv6(6) 系统调用

    $Linux$ 里面系统调用使用的向量号是 $0x80$,$xv6$ 里面使用的 $64$(不同 $xv6$ 版本可能不同)。 拿到系统调用程序的地址,就可以执行程序做相应的处理了。 可是系统调用是有很多的,虽然 $xv6$ 中实现的系统调用没多少,没多少也还是有那么一些的,怎么区别它们呢? 这就涉及了系统调用号概念,每一个系统调用都唯一分配了一个整数来标识,比如说 $xv6$ 里面 $fork$ 系统调用调用号就为 1。 上述差不多将系统调用的一些理论知识说完了,下面用 $xv6$ 的实例来看看系统调用具体如何实现的。 xv6$ 将所有具体的系统调用处理函数地址按照系统调用号的顺序集合成了一个数组。

    71610编辑于 2023-12-06
  • 来自专栏Ywrby

    6-系统调用

    系统调用 系统调用是操作系统提供给应用程序(开发人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务 程序接口由一组系统调用组成 系统调用的概念和作用 应用程序通过系统调用请求操作系统的服务。 这样可以保证系统的稳定性和安全性,防止用户进行非法操作 如果没有系统调用存在,各个应用程序就可能会产生非法争夺共享资源的情况发生,例如多个应用同时对一个文件进行读写操作这显然是十分危险的 系统调用分类( ,对进程的控制,这些功能需要执行一些特权指令,所以系统调用的相关处理需要在核心态下进行 系统调用与库函数的区别 应用程序本身可以通过汇编语言直接进行系统调用,但是常见情况下更多是使用高级语言间接进行系统调用 高级编程语言向上层(应用程序)提供库函数,这些库函数中的一部分对系统调用进行了封装,隐藏了系统调用的细节,使上层进行系统调用更加方便 系统调用的背后过程 注意: 陷入指令是在用户态执行的,执行陷入指令后立即引发一个内中断

    65930编辑于 2022-10-27
  • 来自专栏Android点滴分享

    汇编学习(6), 外部函数,调用约定

    本篇介绍 本篇介绍下汇编中的外部函数和调用约定。 调用约定 调用约定(Calling Convertions)就是调用函数时传参和返回值的约定。不同的平台约定也不一样,比如linux和windows 就都有自己的一套调用约定。 The 6th argument goes into r9. 如果参数超过6个,比如10个,那么规则继续如下: The 10th argument is pushed first. The 6th argument goes into xmm5. The 7th argument goes into xmm6. The 8th argument goes into xmm7. mov bl,[rax] mov [rdi+5], bl mov rax, qword [rbp+24] mov bl,[rax] mov [rdi+6]

    1.1K20编辑于 2022-12-11
  • 来自专栏老高的技术博客

    typecho插件编写教程6 - 调用接口

    此篇我们开始调用接口,我们在插件类中新定义一个方法,起名为send_post,在方法中我们通过系统配置获取接口调用地址。 $urls = $url; }else{ $urls = array($url); } //为了保证成功调用

    61260编辑于 2022-12-28
  • 来自专栏OBKoro1的前端分享

    JS 调用栈机制与 ES6调用优化介绍

    调用栈中每个“调用侦”都对应一个函数,最上方的调用帧称为“当前帧”,调用栈是由所有的调用侦形成的。 找到一张图片,调用侦: [16ace8030a36c8dd? 针对这种情况除了我们要尽量避免函数层级嵌套的比较深之外,ES6提供了“尾调用优化”来解决调用侦过多,引起的内存消耗过大的问题。 何谓尾调用: 尾调用指的是:函数的最后一步是调用另一个函数。 b } function b(){ return c() // 删除b 添加c } 防止爆栈: 浏览器对调用栈都有大小限制,在ES6之前递归比较深的话,很容易出现“爆栈”问题(stack overflow 更多: 关于尾递归以及更多尾调用优化的内容,推荐查阅ES6入门-阮一峰 调用栈debug大法 查看调用栈有什么用 查看函数的调用顺序是否跟预期一致,比如不同判断调用不同函数。 我们应该在日常的code中,有意识的使用ES6的“尾调用优化”,来减少调用栈的长度,节省客户端内存。 利用调用栈,对第三方库或者不熟悉的项目,可以更快速的定位问题,提高我们debug速度。

    1.1K20发布于 2019-05-21
  • CharacterGLM-6B FastApi部署调用

    snapshot_download, AutoModel, AutoTokenizer import os model_dir = snapshot_download('THUCoAI/CharacterGLM-6B , 'bot_name': '苏梦远', 'user_name': '陆星辰'} # 调用模型进行对话生成 response, history = model.chat( # 加载预训练的分词器和模型 tokenizer = AutoTokenizer.from_pretrained("/root/autodl-tmp/THUCoAI/CharacterGLM-6B trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("/root/autodl-tmp/THUCoAI/CharacterGLM-6B 在终端输入以下命令启动api服务 cd /root/autodl-tmp python api.py 默认部署在 6006 端口,通过 POST 方法进行调用,可以使用curl调用,如下所示: curl

    17200编辑于 2025-07-20
  • CharacterGLM-6B Transformers部署调用

    snapshot_download, AutoModel, AutoTokenizer import os model_dir = snapshot_download('THUCoAI/CharacterGLM-6B AutoModelForCausalLM import torch # 使用模型下载到的本地路径以加载 model_dir = '/root/autodl-tmp/THUCoAI/CharacterGLM-6B , history=history) print(response) 部署 在终端输入以下命令运行trans.py,即实现CharacterGLM-6B的Transformers部署调用 cd /root

    20800编辑于 2025-07-20
  • 来自专栏全栈程序员必看

    使用axis调用WebService,Java WebService调用工具

    文章目录 WebService 简介 概述 使用 axis 调用 WebService 引入依赖 WebService 调用工具类 WebService 简介 概述 能使得运行在不同机器上的不同应用无须借助附加的 groupId> <artifactId>commons-discovery</artifactId> <version>0.2</version> </dependency> WebService 调用工具类 javax.xml.rpc.ParameterMode; import java.util.List; import java.util.Map; import java.util.Set; /** * WebService - 工具类 第二个方法适用于调用 WebService后,返回的值为 String 类型。 参数详解: methodName:函数名。需要调用的 WebService 的函数名称。 params:参数。 调用 WebService 时需传入的参数。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    2.4K160编辑于 2022-11-02
  • 来自专栏OBKoro1的前端分享

    js 调用栈机制与ES6调用优化介绍

    针对这种情况除了我们要尽量避免函数层级嵌套的比较深之外,ES6提供了“尾调用优化”来解决调用侦过多,引起的内存消耗过大的问题。 何谓尾调用: 尾调用指的是:函数的最后一步是调用另一个函数。 b } function b(){ return c() // 删除b 添加c } 防止爆栈: 浏览器对调用栈都有大小限制,在ES6之前递归比较深的话,很容易出现“爆栈”问题(stack overflow 更多: 关于尾递归以及更多尾调用优化的内容,推荐查阅ES6入门-阮一峰 调用栈debug大法 查看调用栈有什么用 查看函数的调用顺序是否跟预期一致,比如不同判断调用不同函数。 我们应该在日常的code中,有意识的使用ES6的“尾调用优化”,来减少调用栈的长度,节省客户端内存。 利用调用栈,对第三方库或者不熟悉的项目,可以更快速的定位问题,提高我们debug速度。 博客、前端积累文档、公众号、GitHub 以上2019/5/20 参考资料: JS垃圾回收机制与常见内存泄露的解决方法 ES6入门-阮一峰 JavaScript 如何工作:对引擎、运行时、调用堆栈的概述

    87920发布于 2020-10-27
  • 来自专栏云前端

    ES6中的尾调用优化

    原文:http://exploringjs.com/es6/ch_tail-calls.html ECMAScript 6 提供了尾调用优化(tail call optimization)功能,以使得对某些函数的调用不会造成调用栈 粗略的来说,如果当一个函数所做的最后一件事是调用了另一个函数,而后者不需要向调用者返回任何东西时;以及由此可知,在这种情况下没有调用者的额外信息需要被储存在调用栈(call stack)上,函数间的调用更像一种 在行B中,从id中返回的值将继续返回给f的调用者。照旧,最上面的调用帧被移除,执行过程跳转到要return的位置 -- 行C。 ? Step 6. 行C接收到返回值3并完成打印工作。 检查函数调用是否在尾部发生 我们已经了解到尾调用可以被更有效率的执行,那么如何认定一个尾调用呢? 首先,调用函数的方式是无所谓的。 对于尾调用优化,因此必须找出表达式中函数调用的尾部。只有下列表达式会包含尾调用: 条件操作符 (?

    1.2K20发布于 2020-06-16
  • 来自专栏办公魔盒

    VB6 调用Excel,并进行操作

    VB6 调用Excel,并进行操作!!

    3K20发布于 2019-07-22
  • Yi-6B-Chat FastApi 部署调用

    Yi-6B-Chat FastApi 部署调用 环境准备 在 Autodl 平台中租赁一个 3090 等 24G 显存的显卡机器,如下图所示镜像选择 PyTorch–>2.0.0–>3.8(ubuntu20.04 import snapshot_download, AutoModel, AutoTokenizer import os model_dir = snapshot_download('01ai/Yi-6B-Chat 主函数入口 if __name__ == '__main__': # 加载预训练的分词器和模型 model_name_or_path = 'root/autodl-tmp/01ai/Yi-6B-Chat 默认部署在 6006 端口,通过 POST 方法进行调用,可以使用 curl 调用,如下所示: curl -X POST "http://127.0.0.1:6006" \ -H 'Content-Type : application/json' \ -d '{"prompt": "你好", "history": []}' 也可以使用 python 中的 requests 库进行调用,如下所示:

    25310编辑于 2025-07-17
  • 来自专栏AgenticAI

    LLM多智能体AutoGen教程6:Python typing是如何自动生成工具调用请求参数的?

    LLM多智能体AutoGen教程5:函数调用之避免捏造参数》,我们使用typing对可调用函数进行注解,AutoGen据此自动生成OpenAI API函数调用时的请求参数。 本文将简要介绍Python中typing包的基础操作,顺便简单的介绍一下Pydantic,然后深入AutoGen的流程,探查AutoGen如何通过typing帮助自动生成Open AI API工具调用的参数 有点抽象,举个例子,就是在使用LLM的工具调用时候,参数也需要类型和注释,Annotated就能实现。 > True print(user.model_dump()) > {'id': 123, 'name': 'X2046', 'birthday': datetime.datetime(2024, 6, 总结 本文通过简单介绍Python的类型提示系统typing和Python中广受开发者爱好的数据验证器Pydantic,并深入分析AutoGen中工具调用的流程分析,从而为我们如何更好的进行工具调用打下了坚实的基础

    82000编辑于 2025-03-18
  • 来自专栏c++与qt学习

    MIT 6.S081 Lab Two -- 系统调用

    MIT 6.S081 Lab Two -- 系统调用 引言 本文为 MIT 6.S081 2020 操作系统 实验二解析。 MIT 6.S081课程前置基础参考: 基于RISC-V搭建操作系统系列 system calls 在上一个实验中,您使用系统调用编写了一些实用程序。 在本实验室中,您将向xv6添加一些新的系统调用,这将帮助您了解它们是如何工作的,并使您了解xv6内核的一些内部结构。您将在以后的实验室中添加更多系统调用。 如果在掩码中设置了系统调用的编号,则必须修改xv6内核,以便在每个系统调用即将返回时打印出一行。 该行应该包含进程id、系统调用的名称和返回值; 您不需要打印系统调用参数。 这里 xv6 采用的是空闲链表法。

    80141编辑于 2023-10-11
  • 来自专栏马超的博客

    开源:LLMCompiler高性能工具调用框架

    它还通过减少对 LLM 的调用次数来节省 Tokens 使用的成本。实现 灵感来自《An LLM Compiler for Parallel Function Calling》。   LLMCompiler 基于用户指令执行工具调用时其实可以理解为 LLM 帮用户做了类似 SQL 生成执行计划的过程,只不过这里生成的计划是一个 DAG,DAG描述了工具之间的调用关系和参数依赖传递逻辑 当 Agent 需要调用大量工具时,此实现非常有用。如果您需要的工具超过 LLM 的上下文限制,您可以基于此工具扩展代理节点。将工具分为不同的 代理并组装它们以创建更强大的 LLMCompiler。 另外已经有案例是在生产级应用中得到验证的,这个案例中配置了大约 60 种工具,与 Few-shot 搭配时准确率超过 90%。 for Parallel Function Calling[2] • 部分参考代码: LLMCompiler From Github[3] 引用链接 [1] TOC: 开源:LLMCompiler高性能工具调用框架

    51000编辑于 2025-02-21
  • 基于 MCP 协议的 LLM 工具调用

    代码调用 6. 总结 文章主要讲解了如何使用 MCP(Model Context Protocol)与大型语言模型(LLM)结合来实现工具调用,以及如何搭建一个简单的应用来展示这一过程。 1. 对话测试 只需要启动 fastapi服务,然后再web端调用 可以看到,模型有一定的概率能找到相应的 tool 进行调用 5. 5802200, 'eval_count': 22, 'eval_duration': 1397424200, 'model_name': 'qwen2.5:1.5b'}, id='run-a36349f2-a6d6 二者关系 MCP 中的 tool 是具体的工具实现,function calling 是调用这些工具的方式。 MCP 是协议规范,定义了 LLM 和工具之间的通信方式;function calling 是 LLM 的能力,利用 MCP 协议调用工具。 二者紧密协作,共同实现复杂的应用场景。

    17310编辑于 2026-03-25
  • 来自专栏python前行者

    python调用java代码的工具jpype

    文章目录 jpype简介 安装 使用 小试牛刀 使用命令行方式打jar包 调用jar包方法 问题1:shutdownJVM停止后restart失败的情况 问题2:只能调用静态方法 问题3:调用其他包方法 调用jar包main方法 java命令行方式运行jar包 jpype简介 JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程 调用jar包方法 import os import jpype def java_class_func(jar_path, class_name, func_name, jvm_path=None 解决:用静态方法调用类方法 问题3:调用其他包方法 if __name__ == '__main__': java_class_func1(r"D:\mycode\javacode\jsf_hf_demo \hf\target\hf-0.1.jar com.dubbo.testjsf.Get22 #jar中调用MANIFEST.MF配置的入口class的main函数 java -jar .

    1.2K10编辑于 2023-12-25
  • 来自专栏java和python

    java 实现 调用Linux命令工具

    目录 1 代码实现 1 代码实现 public class CommandUtil { public static String execuCmd(String cmd) { System.out.println("执行命令[ " + cmd + "]"); Runtime run = Runtime.getRuntime(); try { Process process = run.exec(cmd);

    1.6K20编辑于 2022-08-14
  • 来自专栏Mokwing

    python 自动化测试(6):jar包调用

    Python对jar包的使用 前言 依赖库 使用 前言 编写自动化时,可能会遇到一些语言之间的调用。 例如: 在登录页面,获取短信验证码后通过java编写的加密方式存入数据库中;使用python编写自动化脚本调用对应jar包,jar包的内容时对应的解密方式,则可以将解密好的内容放入对应输入框内就可以自动化登录了 return sms_code '''--关闭jvm--''' def close_jar(self): jpype.shutdownJVM() # 调用此方法后 ,禁用对现有的java对象调用,终止后无法重新启动jvm if __name__ == "__main__": RunJar().get_sms_code()

    1.4K20发布于 2020-09-08
  • 来自专栏sktj

    python guimixin 消息调用 工具dialog封装

    """ ############################################################################### a "mixin" class for other frames: common methods for canned dialogs, spawning programs, simple text viewers, etc; this class must be mixed with a Frame (or a subclass derived from Frame) for its quit method ############################################################################### """

    44660编辑于 2022-05-13
领券