Anda di halaman 1dari 4

De Oliveira Junior 1

ECE 373 - Embedded Operating Systems and Device Drivers


Spring 2015
Geraldo Francisco de Oliveira Junior
Homework 1

Part A

1.
A. BUG
Currently, it is not possible to enable signal-driven I/O by specifying O_ASYNC
when calling open(); use fcntl(2) to enable this flag.

B. type.h, stat.h, and fcntl.h

C. chmod(), chown(), close()

D. chmod ()
include: stat.h
BUG: none

2.
A.
/linux/usb.h, line 25

usb.h line 518 to 523, kernel 3.19, code below:


int devnum;
char devpath[16];
u32 route;
enum usb_device_state state;
enum usb_device_speed speed;

B. ch9.h line 910

C.
ch9.h line 910 to 916 kernel 3.19, code below:
enum usb_device_speed {
USB_SPEED_UNKNOWN = 0, /* enumerating */
USB_SPEED_LOW, USB_SPEED_FULL, /* usb 1.1 */
USB_SPEED_HIGH, /* usb 2.0 */
USB_SPEED_WIRELESS, /* wireless (usb
2.5) */
USB_SPEED_SUPER, /* usb 3.0 */
};
De Oliveira Junior 2

Part B

Script started on Sat 04 Apr 2015 02:09:06 PM PDT


geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~geraldo@geraldo-HP-ENVY-15-Notebook-
PC:~$ pwd
/home/geraldo
geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~geraldo@geraldo-HP-ENVY-15-Notebook-
PC:~$ ls -l
total 9452
drwxr-xr-x 4 geraldo geraldo 4096 Mar 11 23:45 rea de Trabalho
-rw------- 1 geraldo geraldo 310108 Feb 4 19:29 cs559-21.ppt_0odp
-rw------- 1 geraldo geraldo 114975 Feb 4 19:29 cs559-22%20(1).ppt_1odp
-rw------- 1 geraldo geraldo 470862 Feb 4 19:29 cs559-22.ppt_1odp
drwxr-xr-x 24 geraldo geraldo 4096 Mar 18 10:24 Documentos
drwxr-xr-x 5 geraldo geraldo 4096 Mar 18 11:09 Downloads
-rw-r--r-- 1 geraldo geraldo 8980 Aug 4 2014 examples.desktop
-rw-rw-r-- 1 geraldo geraldo 8570503 Oct 10 22:26 Firefox_wallpaper.png
drwxr-xr-x 2 geraldo geraldo 4096 Feb 4 14:43 Imagens
drwxr-xr-x 2 geraldo geraldo 4096 Aug 15 2014 Modelo
-rw-rw-r-- 1 geraldo geraldo 121246 Nov 28 15:47 mozilla.pdf
drwxr-xr-x 2 geraldo geraldo 4096 Aug 15 2014 Msica
drwxrwxr-x 4 geraldo geraldo 4096 Mar 10 18:46 mnode_modules
-rw-rw-r-- 1 geraldo geraldo 942 Mar 9 14:30 npm-debug.log
-rw-rw-r-- 1 geraldo geraldo 8745 Nov 20 23:02 output.pdf
drwxr-xr-x 2 geraldo geraldo 4096 Aug 15 2014 Pblico
drwxrwxr-x 2 geraldo geraldo 4096 Mar 8 22:44 tmp
-rw-rw-r-- 1 geraldo geraldo 0 Apr 4 14:09 typescript
-rw------- 1 geraldo geraldo 9505 Feb 4 19:29 untitled_0odt
drwxr-xr-x 2 geraldo geraldo 4096 Aug 15 2014 Vdeos
geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~geraldo@geraldo-HP-ENVY-15-Notebook-
PC:~$ mkdir ECE373-A1
geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~geraldo@geraldo-HP-ENVY-15-Notebook-
PC:~$ cd ECE373-A1/
geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~/ECE373-A1geraldo@geraldo-HP-ENVY-15-
Notebook-PC:~/ECE373-A1$ exit
exit

Script done on Sat 04 Apr 2015 02:09:37 PM PDT


De Oliveira Junior 3

Part C

Script started on Sat 04 Apr 2015 02:44:31 PM PDT


geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~/ECE373-A1geraldo@geraldo-HP-ENVY-15-
Notebook-PC:~/ECE373-A1$ gcc -g -o
alg1. alg1.c
geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~/ECE373-A1geraldo@geraldo-HP-ENVY-15-
Notebook-PC:~/ECE373-A1$ ./alg1
Enter a temperature in Fahrenheit: 90
The temperature in Celcius is: 32.222221 C
geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~/ECE373-A1geraldo@geraldo-HP-ENVY-15-
Notebook-PC:~/ECE373-A1$ exit
exit

#include <stdio.h>

int main(){
float fahrenheit, celcius;
printf("Enter a temperature in Fahrenheit: ");
scanf("%f",&fahrenheit);

celcius = (fahrenheit - 32) * 5.0/9.0;

printf("The temperature in Celcius is: %f C


\n",celcius);

return 0;

Script done on Sat 04 Apr 2015 02:44:51 PM PDT

Part D

Script started on Wed 08 Apr 2015 09:05:13 AM PDT


geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~geraldo@geraldo-HP-ENVY-15-Notebook-
PC:~$ dmesg | grep kernel
De Oliveira Junior 4

[ 7094.547773] Hello, kernel


[ 7355.481455] Goodbye, kernel
geraldo@geraldo-HP-ENVY-15-Notebook-PC: ~geraldo@geraldo-HP-ENVY-15-Notebook-
PC:~$ exit
exit

Script done on Wed 08 Apr 2015 09:05:23 AM PDT

#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");

static int __init hello_init(void)


{
printk(KERN_INFO "Hello, kernel\n");
return 0;
}

static void __exit hello_exit(void)


{
printk(KERN_INFO "Goodbye, kernel\n");
}

module_init(hello_init);
module_exit(hello_exit);

Anda mungkin juga menyukai