- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 树莓派2 ubuntu mate安装
树莓派2 安装了新的操作系统ubuntu mate,与wheezy-raspbian相比界面更加华丽,但内存也占用更多。 ubuntu mate 占用内存446MB wheezy-raspbian 占用内存160MB 不过树莓派2的内存有1GB,少去的内存相比于界面的华丽是也值得的。 树莓派2的ubuntu mate界面与
2016-02-28 15:48:27 1622
原创 系统调用的封装
封装系统调用是一件简单而枯燥的事情封装系统调用的基本过程是: 1. 确认要封装的系统调用,并将系统调用对应的系统调用名称设置为函数的名称。 如系统调用号1对应的系统调用exit封装的函数的名字便是exit。 2. 确认要封装的系统调用的参数及参数类型,并设置为函数的参数。 如exit系统调用的参数为int status,则exit函数参数为int status
2016-02-28 11:24:49 943
原创 关于系统调用(二)
怎么用?(实践性) 以x86体系下linux内核为例正如《系统调用一》里所讲,执行系统调用只有3个步骤:选系统调用号,传入系统调用参数,执行特权指令。只要正确的执行这3个步骤便可以完成对所有系统调用的执行。3个步骤简单明了,但实现却纷繁复杂。本文以下内容将以原始,进阶,高阶,三个阶段去了解怎么调用系统调用。三个阶段都能完成系统调用的执行,但抽象程度一个比一个高,实际中的使用程度也一个比一个高。开始
2016-02-22 20:22:45 359
原创 关于系统调用(一)
1. 什么是系统调用?系统调用也叫做操作系统接口,是操作系统提供给应用程序的一组接口。应用程序执行特权指令切入内核,执行操作系统内核中的代码。本质 本质上系统调用是一个函数列表,执行系统调用就像调用函数。传入参数,调用,取返回值。不过该函数列表存在于内核空间,用户能调用,却并不知道调用过程发生了什么。用户调用依赖的是系统调用的功能描述。也就是说,用户只需知道该系统调用能干什么,然后当需要该功
2016-02-19 16:38:11 561
原创 clock_settime(系统调用)
clock_settime系统调用可以设置系统时间秒数与纳秒数。 #include <time.h> int clock_settime(clockid_t clk_id, const struct timespec *tp);clockid_t clk_id 用于指定计时时钟的类型,有以下4种: CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即
2016-02-05 15:55:23 11577
原创 ftime(系统调用)
ftime系统调用可以获取系统的秒数与毫秒数。但是在linux内核中并未实现该系统调用,所以调用的话,会返回错误码。不过可以使用gettimeofday来获取微秒数,并/1000来算出毫秒数。#include <sys/timeb.h>int ftime(struct timeb *tp);struct timeb{ time_t time; /* 为1970-01-01至今的秒数*/
2016-02-05 12:18:10 542 1
原创 获取/设置时间的系统调用的几个思考
1.为什么存在这么多获取,设置时间的系统调用? 获取/设置时间的系统调用可分为4个类型:秒数,秒数加上毫秒数,秒数加上微秒数,秒数加上纳秒数。 4个类型其实可以只用秒数加上纳秒数就完成。但存在问题: 可以获取纳秒数的设备每台机器不一定存在。 获取纳秒数需要对硬件访问,与获取秒数相比,需要更久的时间 。2.time系统调用为什么返回时间值? time_t time(time
2016-02-04 19:26:01 610
原创 settimeofday(系统调用)
settimeofday系统调用可以设置系统的秒数,以及微秒数。需要超级用户权限才能执行。#include <sys/time.h>int settimeofday(const struct timeval *tv, const struct timezone *tz);返回值:出错返回-1,错误码放在errno中,正确返回0.
2016-02-04 18:53:51 5306
原创 stime(系统调用)
系统调用stime可以设置系统的时间,不过需要超级用户的权限。#include <time.h>int stime(time_t *t);返回值: 出错返回-1,错误码放在errno中,成功则返回0
2016-02-04 18:47:49 2522
原创 time(系统调用)
系统调用 time 可以获取系统时间(秒数)。#include <time.h>time_t time(time_t *t);执行系统调用time,可以获取系统时间,系统时间将写入t指针指向的内存处,并将系统时间作为返回值。
2016-02-01 19:03:07 1685
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人