Jos-hw5

20 篇文章 0 订阅
13 篇文章 0 订阅
Assignment: Try to understand setupsegs() in proc.c. What values are written into
gdt[SEG_UCODE] and gdt[SEG_UDATA] for init, the first user-space process? (You can
use Bochs to answer this question.)

3695   10300a:       8b 45 e4                mov    -0x1c(%ebp),%eax
3696   10300d:       88 90 b3 00 00 00       mov    %dl,0xb3(%eax)  ==> (0x0010aca4~0x0010aca8) = 0x00c0fa00
3697   103013:       eb 2e                   jmp    103043 <setupsegs+0x578>
3698   103015:       8b 45 e4                mov    -0x1c(%ebp),%eax     ==> (0x0010acac~0x0010acb0) = 0x00c0f200


Reference:
<bochs:3> regs
eax: 0x0010ac00 1092608
ecx: 0xffffffc0 -64
edx: 0x00000000 0
ebx: 0x00000000 0
esp: 0x0010ae2c 1093164
ebp: 0x0010ae64 1093220
esi: 0x00000000 0
edi: 0x00000000 0
eip: 0x00103013

<bochs:4> print-stack
Stack address size 4
 | STACK 0x0010ae2c [0x0000000a]
 | STACK 0x0010ae30 [0x00000000]
 | STACK 0x0010ae34 [0x0010ae64]
 | STACK 0x0010ae38 [0x00103b9c]
 | STACK 0x0010ae3c [0x0010ae6c]
 | STACK 0x0010ae40 [0x0010e46c]
 | STACK 0x0010ae44 [0x00000000]
 | STACK 0x0010ae48 [0x0010ac00]
 | STACK 0x0010ae4c [0x00000000]
 | STACK 0x0010ae50 [0x0010aebc]
 | STACK 0x0010ae54 [0x00105056]
 | STACK 0x0010ae58 [0x00010094]
 | STACK 0x0010ae5c [0x000e0000]
 | STACK 0x0010ae60 [0x0000ffac]
 | STACK 0x0010ae64 [0x0010ae94]
 | STACK 0x0010ae68 [0x001033cf]


<bochs:6> x/ux 0x10aca4
[bochs]:
0x0010aca4 <bogus+       0>:    0x00000000
<bochs:7> x/ux 0x10aca8
[bochs]:
0x0010aca8 <bogus+       0>:    0x00c0fa00
<bochs:8> x/ux 0x10acac
[bochs]:
0x0010acac <bogus+       0>:    0x00000000
<bochs:9> x/ux 0x10acb0
[bochs]:
0x0010acb0 <bogus+       0>:    0x00c0f200


京东jos是京东提供的一种云服务,包括对象存储、CDN、视频转码等功能。如果想在ThinkPHP5中使用京东jos,可以按照以下步骤操作: 1. 安装京东jos SDK 可以通过 Composer 安装京东jos SDK: ``` composer require jingdong-union/jd-union-sdk-php ``` 2. 配置应用信息 在 `config` 目录下新建 `jos.php` 文件,填写如下内容: ```php <?php return [ 'app_key' => 'your app key', 'app_secret' => 'your app secret', 'access_token' => 'your access token', 'bucket_name' => 'your bucket name', ]; ``` 其中,`app_key` 和 `app_secret` 为京东jos的应用信息,`access_token` 是访问凭证,`bucket_name` 是对象存储的桶名。 3. 使用对象存储功能 ```php <?php namespace app\index\controller; use think\Controller; use Jdcloud\Credentials\Credentials; use Jdcloud\Result; use Jdcloud\Service\OSS\OSSClient; class Index extends Controller { public function index() { // 实例化OSSClient $credentials = new Credentials(config('jos.app_key'), config('jos.app_secret')); $ossClient = new OSSClient([ 'regionId' => 'cn-north-1', 'credentials' => $credentials, ]); // 上传文件 $file = request()->file('image'); $result = $ossClient->putObject([ 'Bucket' => config('jos.bucket_name'), 'Key' => $file->getOriginalName(), 'Body' => fopen($file->getRealPath(), 'r'), ]); // 打印上传结果 dump($result->toArray()); } } ``` 以上代码演示了在 ThinkPHP5 中使用京东jos的对象存储功能,实现了上传文件的功能。其他功能的使用方法类似,只需要根据 SDK 提供的 API 进行调用即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值