DRIVER AND LIBRARY FOR DB67 DSP BOARD DRIVER AND LIBRARY FOR DB67 DSP BOARD

Size: px
Start display at page:

Download "DRIVER AND LIBRARY FOR DB67 DSP BOARD DRIVER AND LIBRARY FOR DB67 DSP BOARD"

Transcription

1 DRIVER AND LIBRARY FOR DB67 DSP BOARD

2 G.Petrosyan MVP, DESY (Hamburg, Germany), ErPhi (Erevan, Armenia) K. Rehlich DESY (Hamburg, Germany) P.Vetrov DESY (Hamburg, Germany),

3 DRIVER The basic part of LLRF DSP control system is 6U-VME standard DSP board which contains TMS320C6701 floating-point DSP (Texas Instruments Inc.) and 8 Gigalink channels [1]. For effective usage of this board the driver for OS Solaris 2 was written. Additionally a bootable program was developed which is stored in the flash memory of the DSP board. On start up or reset this program initializes the DSP internal registers and DSP Interrupt Service Table (IST) [2]. After this initialization the program enters an idle loop. Init Internal registers Init IST IDLE xxxxx Since the idle loop instructions are arranged in reserved memory space, which is not used for application programs, we can load an application program in to the DSP memory without disturb this loop. By changing the loop instructions from Host Port Interface (HPI) can force DSP to exit from loop. Before doing it we have to set required branch instruction at xxxxx. For example, if we want to start a new application program we have to set branch instruction to 0x200h address. As default the HPI Interrupt Service Instruction Fetch contains branch to this idle loop and it is possible organise application program s pause sending host interrupt to the DSP. To return to the application program s interrupted point we have to set at xxxxx branch instruction with IRP (Interrupt Return Pointer) argument and exit idle loop. The DSP driver is written as a DDI/DDK Loadable Driver for SYSTEM V (Solaris 2) and DSP board presented as a Character Device. The driver controls the DSP board and allows read/write data from/to DSP board memory including DSP internal memory. IOR, SR, VR, DSP-RESET, HPIC, HPIA, and HPID registers of DSP board are accessible from VME bus [1]. SR and VR registers are used for setting interrupt vector and interrupt level for DSP interrupt to Host. Writing into the DSP-RESET register causes the DSP board reset. HPIC, HPIA, and HPID registers are DSP Host Port Interface s registers which are used for to read/write data from/to DSP board memory including DSP internal memory. The driver has two modes of operation for interrupt handling: 1. Driver pauses itself for 6 ms and after this time continues its work. The delay of 6 ms is defined by processing time of the macro pulse of LLRF system. 2. If there are processes requested to be notified on some events, the driver will sent them system signal. This modes are set by system call ioctl(). Description of this call is presented. A user process can use open(), close(), write(), read() and ioctl() system calls for this driver. For easier programming a programmer can use our C++ library. Petrosyan Gevorg Page 3 07/02/2005

4 [1] VME DSP module with 8 GigaLink interfaces. [2] TMS320c6000 CPU and Instruction Set, ch. 8, Texas Instruments Inc. SPRU189E. Petrosyan Gevorg Page 4 07/02/2005

5 DESCRIPTION OF SYSTEM CALLS AND LIBRARY FUNCTION Petrosyan Gevorg Page 5 07/02/2005

6 SYSTEM CALL OPEN int open(char *path, int flags); Opens link-level device named in the path string, e.g. /dev/db67ff0. The flags argument is a bitmap selecting behaviour of the device. The following fields may be specified: O_RDONLY O_WRONLY O_RDWR Opens the board for read access only. Opens the board for write access only. Opens the board for read and write access. Only one of flags must be specified. Returns: and numand or Upon successful completion, the function opens the file return a non-negative integer representing the lowest bered unused file descriptor. Otherwise, -1 is returned errno is set to indicate the error. No files are created modified if the function returns -1. int fd = open ( /dev/db67ff0, O_RDWR); if( fd < 0) perror( open ); else printf( Device db67ff0 opened OK!\n ); Petrosyan Gevorg Page 6 07/02/2005

7 SYSTEM CALL CLOSE int close(int fd); Closes the link-level device so that no further can be performed on it. This frees the device s file descriptor which may be allocated to another device or file when another call to open() is made. Returns: Upon successful completion, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error. if (close(fd) < 0) perror ( close ); else printf ( Device closed OK!\n ); Petrosyan Gevorg Page 7 07/02/2005

8 SYSTEM CALL READ int read(int fd, char *buf, int nbyte); This function used to read nbyte-4 bytes data from DSP bord via DSP HPI into the given buffer decrypted by pointer buf. Start address of data in DSP memory allocated in first 4 bytes of the buffer e.g. returned data will be placed in the buffer starting at fifth byte. Returns: Upon successful completion, read() return a non-negative integer indicating the number of bytes actually read. Otherwise, the functions return -1 and set errno to indicate the error. Examples: Read 4 bytes at address 0x8000F000 int n,data[2]; data[0] = 0x8000F000; if((n = read (fd, &data[0], 8))!= 8) perror( read ); else printf( %d bytes read from DSP OK!\n, n 4 ); Petrosyan Gevorg Page 8 07/02/2005

9 SYSTEM CALL WRITE Returns: Examples: int write(int fd, char *buf, int nbyte); This function used to write nbyte-4 bytes data from the given buffer decrypted by pointer buf into the DSP board via DSP HPI. Start address of data in DSP memory allocated in first 4 bytes of the buffer. Upon successful completion, write() return a non-negative integer indicating the number of bytes actually read. Otherwise, the functions return -1 and set errno to indicate the error. write 4 bytes at address 0x8000F000 int n,data[2]; data[0] = 0x8000F000; data[1] = 12345; if((n = write (fd, &data[0], 8))!= 8) perror( write ); else printf( %d bytes written into DSP OK!\n, n 4 ); Petrosyan Gevorg Page 9 07/02/2005

10 SYSTEM CALL IOCTL int ioctl(int fd, int request, int arg); This command allows the user to perform miscellaneous function in relation to the module driver specified by the file descriptor fd. The function to be performed is determined by the parameter request. The role of the arg parameter is dependent on which function is to be performed. Valid request functions are: DB67D_RESET Reset DSP board. DB67_INT Send interrupt to DSP. DB67_INT_FREE DB67_NO_INT Puts ban to sent interrupt from DSP to Host. DB67D_INFO Get information about DSP board. Information will be placed into t_board_info type structure which is defined in db67cmd.h. t_board_info board_data1; ioctl(brd,db67d_info,&board_data1); printf(" Board info \n address = %x\n interrupt type = %i\n interrupt vector = %x\n interrupt level = %i\n", board_data1.adr, board_data1.int_type, board_data1.int_vector, board_data1.int_number); DB67_LLRF_INT Set interrupt type for LLRF control. When driver received interrupt then it paused 6 us. Petrosyan Gevorg Page 10 07/02/2005

11 DB67_SIG_INT Set interrupt type for send signal to registered process. The command must be look like this: ioctl (brd, DB67_SIG_INT_DEL, &ioctl_data); ioctl_data is db67_ioctl_data type structure. struct db67_ioctl_data { u_short f_irqnr; int f_sigirq; u_int f_status; }; struct db67_ioctl_data ioctl_data; sigset_t mask; struct sigaction hdl; sigemptyset (&mask); sigaddset (&mask, SIGUSR1); sigprocmask (SIG_SETMASK, &mask, NULL); sigemptyset (&hdl.sa_mask); hdl.sa_flags = 0; hdl.sa_handler = signal_handler; sigaction(sigusr1, &hdl, NULL); sigprocmask (SIG_UNBLOCK, &mask, NULL); ioctl_data.f_irqnr = 0; ioctl_data.f_sigirq = SIGUSR1; ioctl_data.f_status = 0; ioctl (brd, DB67_SIG_INT, &ioctl_data); This command saves information into the driver and when driver receives interrupt from DSP sends SIGNAL described in db67_ioctl_data.f_sigirq to the registered process. DB67_SIG_INT_DEL Clear all interrupt (SIGNAL) requests for process sent this command. ioctl (brd, DB67_SIG_INT_DEL, &ioctl_data); Petrosyan Gevorg Page 11 07/02/2005

12 LIBRARY FUNCTION db67open int db67open(int a); This function adds a as char at end the string /dev/db67ff and calls the system call open() whit this argument. a can be 0,1,2,3 and it depend from conf file of driver. This function returns the value which returned from system call open(). Petrosyan Gevorg Page 12 07/02/2005

13 LIBRARY FUNCTION db67close argument. returned. int db67close(int fd) This function calls the system call close() with fd The returned value from system call close() will be Petrosyan Gevorg Page 13 07/02/2005

14 LIBRARY FUNCTION db67_write_data_int int db67_write_data_int(int fd, int data, int adr) This function used to write integer data type to the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data integer data type which will be written in the DSP memory. adr address of DSP memory where data will be written. Upon successful completion, db67_write_data_int returns 0. Otherwise, error number WR_D_INT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from write() system call. #include db67lib.h int data1; int adr1=0x ; if(db67_write_data_int(fd, data1, adr1)!=0)perror( db67_write_data_int ); Petrosyan Gevorg Page 14 07/02/2005

15 LIBRARY FUNCTION db67_read_data_int int db67_read_data_int(int fd, int adr, int *data) This function used to read integer data type from the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of integer data type where data will be written. adr address of DSP memory from where data will be read. Upon successful completion, db67_read_data_int returns 0. Otherwise, error number RD_D_INT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from read() system call. int data1; int adr1=0x ; if(db67_read_data_int(fd, adr1, &data1)!= 0)perror( db67_read_data_int ); Petrosyan Gevorg Page 15 07/02/2005

16 LIBRARY FUNCTION db67_write_data_float int db67_write_data_float(int fd, float data, int adr) This function used to write float data type to the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data float data type which will be written in the DSP memory. adr address of DSP memory where data will be written. Upon successful completion, db67_write_data_float returns 0. Otherwise, error number WR_D_FLT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from write() system call. float data1; int adr1=0x ; if(db67_write_data_ float(fd, data1, adr1)!=0 )perror( db67_write_data_ float ); Petrosyan Gevorg Page 16 07/02/2005

17 LIBRARY FUNCTION db67_read_data_float int db67_read_data_float(int fd, int adr, float *data) This function used to read float data type from the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of float data type where data will be written. adr address of memory from where data will be read. Upon successful completion, db67_read_data_float returns 0. Otherwise, error number RD_D_FLT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from read() system call. float data1; int adr1=0x ; if(db67_read_data_float(fd, adr1, &data1)!= 0)perror( db67_read_data_float ); Petrosyan Gevorg Page 17 07/02/2005

18 LIBRARY FUNCTION db67_write_table_int adr) int db67_write_table_int(int fd, int *data, int len, int This function used to write integer type data array to the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of integer data type array. len number of data which will be written. adr - start address of the DSP memory space where data array will be written. Upon successful completion, db67_write_data_float returns 0. Otherwise, error numbers defined in db67lib.h will be returned and errno is set to indicate the error from write() or calloc() system calls. Returned value from the function WR_T_INT_ERR CALLOC_ERR System call set errno write() Calloc() int x[100]; int adr1 = 0x80000; if(db67_write_table_int(&x, 100,adr1)!= 0) perror( db67_write_table_int ); Petrosyan Gevorg Page 18 07/02/2005

19 LIBRARY FUNCTION db67_write_table_float adr) int db67_write_table_float(int fd, float *data, int len, int This function used to write float type data array to the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of float type data array. len number of data which will be written. adr - start address of the DSP memory space where data array will be written. Upon successful completion, db67_write_table_float returns 0. Otherwise, error numbers defined in db67lib.h will be returned and errno is set to indicate the error from write() or calloc() system calls. Returned value from the function WR_T_FLT_ERR CALLOC_ERR System call set errno write() Calloc() int x[100]; int adr1 = 0x80000; if(db67_write_table_float(&x, 100,adr1)<0) perror( db67_write_table_float ); Petrosyan Gevorg Page 19 07/02/2005

20 LIBRARY FUNCTION db67_read_table_int adr) int db67_read_table_int(int fd, int *data, int len, int This function used to read integer type data array from the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of integer type data array. len number of data which will be read. adr - start address of the DSP memory space from where data array will be read. Upon successful completion, db67_read_table_int returns 0. Otherwise, error number RD_T_INT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from read() system call. int x[100]; int adr1 = 0x80000; if(db67_read_table_int (brd,&x, 100,adr1)<0) perror( db67_read_table_int ); Petrosyan Gevorg Page 20 07/02/2005

21 LIBRARY FUNCTION db67_read_table-float adr) int db67_read_table_float(int brd, float *d1, int len, int This function used to read float type data array from the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of float data type array. len number of data which will be read. adr - start address of the DSP memory space from where data array will be read. Upon successful completion, db67_read_table_float returns 0. Otherwise, error number RD_T_FLT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from read() system call. float x[100]; int adr1 = 0x80000; if(db67_read_table_float (fd, &x, 100,adr1)!=0 ) perror( db67_read_table_int ); Petrosyan Gevorg Page 21 07/02/2005

22 LIBRARY FUNCTION db67_prog_load int db67_prog_load(int fd, char file[80]) This function resets DSP board and loads compiled program into the DSP. fd DSP board s file descriptor returned by db67open(int a) function. file path to the executable coff file. Upon successful completion, db67_prog_load returns 0. Otherwise, error numbers defined in db67lib.h will be returned and errno is set to indicate the error from write(),open() or calloc() system calls. Returned value from the function WR_SYS_ERR CALLOC_ERR NO_FILE System call set errno write() Calloc() Open() if(db67_prog_load (fd, linac.out )!=0 ) perror( db67_prog_load ); Petrosyan Gevorg Page 22 07/02/2005

23 LIBRARY FUNCTION db67_pause int db67_pause( int fd ) This function paused program in DSP. Upon successful completion, db67_pause returns 0. Otherwise, error number defined in db67lib.h will be returned and errno is set to indicate the error from write(),read() or ioctl() system calls. Returned value from the function WR_T_INT_ERR RD_T_INT_ERR WR_D_INT_ERR IOCTL_ERR System call set errno write() read() write() ioctl() if(db67_pause ( fd )!=0 ) perror( db67_pause ); Petrosyan Gevorg Page 23 07/02/2005

24 LIBRARY FUNCTION db67_run int db67_run(int fd) If a program in DSP was paused the program runs from the paused point. If DSP board was reset then the DSP runs the instructions at address 0x200. Before calling this function one of functions db67_reset, db67_pause, db67_prog_load mast be called, otherwise the error PR_NO_STOP will be returned. Upon successful completion, db67_pause returns 0. Otherwise, error numbers defined in db67lib.h will be returned and errno is set to indicate the error from write() system call. Returned value from the function WR_T_INT_ERR PR_NO_STOP System call set errno write() if(db67_run ( fd )!=0 ) perror( db67_run ); Petrosyan Gevorg Page 24 07/02/2005

25 LIBRARY FUNCTION db67_reset int db67_reset(int fd ) This function reset DSP board. Upon successful completion, db67_pause returns 0. Otherwise, error number IOCTL_ERR defined in db67lib.h will be returned and errno is set to indicate the error from ioctl() system call. if(db67_reset ( fd )!=0 ) perror( db67_reset ); ******************************************************************** Petrosyan Gevorg Page 25 07/02/2005

CSE 333 SECTION 3. POSIX I/O Functions

CSE 333 SECTION 3. POSIX I/O Functions CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight Exercise 7 due Monday (out later today) POSIX Portable Operating System Interface Family of standards specified by the

More information

Section 3: File I/O, JSON, Generics. Meghan Cowan

Section 3: File I/O, JSON, Generics. Meghan Cowan Section 3: File I/O, JSON, Generics Meghan Cowan POSIX Family of standards specified by the IEEE Maintains compatibility across variants of Unix-like OS Defines API and standards for basic I/O: file, terminal

More information

Processes often need to communicate. CSCB09: Software Tools and Systems Programming. Solution: Pipes. Recall: I/O mechanisms in C

Processes often need to communicate. CSCB09: Software Tools and Systems Programming. Solution: Pipes. Recall: I/O mechanisms in C 2017-03-06 Processes often need to communicate CSCB09: Software Tools and Systems Programming E.g. consider a shell pipeline: ps wc l ps needs to send its output to wc E.g. the different worker processes

More information

Goals of this Lecture

Goals of this Lecture I/O Management 1 Goals of this Lecture Help you to learn about: The Unix stream concept Standard C I/O functions Unix system-level functions for I/O How the standard C I/O functions use the Unix system-level

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto For more information please consult Advanced Programming in the UNIX Environment, 3rd Edition, W. Richard Stevens and

More information

I/O Management! Goals of this Lecture!

I/O Management! Goals of this Lecture! I/O Management! 1 Goals of this Lecture! Help you to learn about:" The Unix stream concept" Standard C I/O functions" Unix system-level functions for I/O" How the standard C I/O functions use the Unix

More information

I/O Management! Goals of this Lecture!

I/O Management! Goals of this Lecture! I/O Management! 1 Goals of this Lecture! Help you to learn about:" The Unix stream concept" Standard C I/O functions" Unix system-level functions for I/O" How the standard C I/O functions use the Unix

More information

CSE 333 SECTION 3. POSIX I/O Functions

CSE 333 SECTION 3. POSIX I/O Functions CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight HW2 Due Thursday, July 19 th Midterm on Monday, July 23 th 10:50-11:50 in TBD (And regular exercises in between) POSIX

More information

UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING SOFTWARE ENGINEERING DEPARTMENT

UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING SOFTWARE ENGINEERING DEPARTMENT OPERATING SYSTEM LAB #06 & 07 System Calls In UNIX System Call: A system call is just what its name implies a request for the operating system to do something on behalf of the user s program. Process related

More information

Process Creation in UNIX

Process Creation in UNIX Process Creation in UNIX int fork() create a child process identical to parent Child process has a copy of the address space of the parent process On success: Both parent and child continue execution at

More information

UNIX System Calls. Sys Calls versus Library Func

UNIX System Calls. Sys Calls versus Library Func UNIX System Calls Entry points to the kernel Provide services to the processes One feature that cannot be changed Definitions are in C For most system calls a function with the same name exists in the

More information

Outline. OS Interface to Devices. System Input/Output. CSCI 4061 Introduction to Operating Systems. System I/O and Files. Instructor: Abhishek Chandra

Outline. OS Interface to Devices. System Input/Output. CSCI 4061 Introduction to Operating Systems. System I/O and Files. Instructor: Abhishek Chandra Outline CSCI 6 Introduction to Operating Systems System I/O and Files File I/O operations File Descriptors and redirection Pipes and FIFOs Instructor: Abhishek Chandra 2 System Input/Output Hardware devices:

More information

Socket programming in C

Socket programming in C Socket programming in C Sven Gestegård Robertz September 2017 Abstract A socket is an endpoint of a communication channel or connection, and can be either local or over the network.

More information

Operating Systems. Lecture 06. System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line

Operating Systems. Lecture 06. System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line Operating Systems Lecture 06 System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line March 04, 2013 exec() Typically the exec system call is

More information

Operating systems. Lecture 7

Operating systems. Lecture 7 Operating systems. Lecture 7 Michał Goliński 2018-11-13 Introduction Recall Plan for today History of C/C++ Compiler on the command line Automating builds with make CPU protection rings system calls pointers

More information

UNIX System Programming

UNIX System Programming File I/O 경희대학교컴퓨터공학과 조진성 UNIX System Programming File in UNIX n Unified interface for all I/Os in UNIX ü Regular(normal) files in file system ü Special files for devices terminal, keyboard, mouse, tape,

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 15: Unix interface: low-level interface Cristina Nita-Rotaru Lecture 15/Fall 2013 1 Streams Recap Higher-level interface, layered on top of the primitive file descriptor

More information

Operating System Labs. Yuanbin Wu

Operating System Labs. Yuanbin Wu Operating System Labs Yuanbin Wu cs@ecnu Annoucement Next Monday (28 Sept): We will have a lecture @ 4-302, 15:00-16:30 DON'T GO TO THE LABORATORY BUILDING! TA email update: ecnucchuang@163.com ecnucchuang@126.com

More information

What Is Operating System? Operating Systems, System Calls, and Buffered I/O. Academic Computers in 1983 and Operating System

What Is Operating System? Operating Systems, System Calls, and Buffered I/O. Academic Computers in 1983 and Operating System What Is Operating System? Operating Systems, System Calls, and Buffered I/O emacs gcc Browser DVD Player Operating System CS 217 1 Abstraction of hardware Virtualization Protection and security 2 Academic

More information

CSci 4061 Introduction to Operating Systems. (Advanced Control Signals)

CSci 4061 Introduction to Operating Systems. (Advanced Control Signals) CSci 4061 Introduction to Operating Systems (Advanced Control Signals) What is a Signal? Signals are a form of asynchronous IPC Earlier: Non-blocking I/O and check if it has happened => polling Problem

More information

File I/0. Advanced Programming in the UNIX Environment

File I/0. Advanced Programming in the UNIX Environment File I/0 Advanced Programming in the UNIX Environment File Descriptors Created and managed by the UNIX kernel. Created using open or creat system call. Used to refer to an open file UNIX System shells

More information

Process Management! Goals of this Lecture!

Process Management! Goals of this Lecture! Process Management! 1 Goals of this Lecture! Help you learn about:" Creating new processes" Programmatically redirecting stdin, stdout, and stderr" Unix system-level functions for I/O" The Unix stream

More information

Scuola Superiore Sant Anna. I/O subsystem. Giuseppe Lipari

Scuola Superiore Sant Anna. I/O subsystem. Giuseppe Lipari Scuola Superiore Sant Anna I/O subsystem Giuseppe Lipari Input Output and Device Drivers ERI Gennaio 2008 2 Objectives of the I/O subsystem To hide the complexity From the variability of the devices Provide

More information

TIP675-SW-82. Linux Device Driver. 48 TTL I/O Lines with Interrupts Version 1.2.x. User Manual. Issue November 2013

TIP675-SW-82. Linux Device Driver. 48 TTL I/O Lines with Interrupts Version 1.2.x. User Manual. Issue November 2013 The Embedded I/O Company TIP675-SW-82 Linux Device Driver 48 TTL I/O Lines with Interrupts Version 1.2.x User Manual Issue 1.2.5 November 2013 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek, Germany

More information

CMPS 105 Systems Programming. Prof. Darrell Long E2.371

CMPS 105 Systems Programming. Prof. Darrell Long E2.371 + CMPS 105 Systems Programming Prof. Darrell Long E2.371 darrell@ucsc.edu + Chapter 3: File I/O 2 + File I/O 3 n What attributes do files need? n Data storage n Byte stream n Named n Non-volatile n Shared

More information

The Embedded I/O Company TIP700-SW-82 Linux Device Driver User Manual TEWS TECHNOLOGIES GmbH TEWS TECHNOLOGIES LLC

The Embedded I/O Company TIP700-SW-82 Linux Device Driver User Manual TEWS TECHNOLOGIES GmbH TEWS TECHNOLOGIES LLC The Embedded I/O Company TIP700-SW-82 Linux Device Driver Digital Output 24V DC Version 1.2.x User Manual Issue 1.2.1 February 2009 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 Phone: +49 (0) 4101 4058 0 25469

More information

Files. Eric McCreath

Files. Eric McCreath Files Eric McCreath 2 What is a file? Information used by a computer system may be stored on a variety of storage mediums (magnetic disks, magnetic tapes, optical disks, flash disks etc). However, as a

More information

Signals. CSC209: Software Tools and Systems Programming. Furkan Alaca & Paul Vrbik

Signals. CSC209: Software Tools and Systems Programming. Furkan Alaca & Paul Vrbik Signals CSC209: Software Tools and Systems Programming Furkan Alaca & Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Week 9 Acknowledgement These slides are built upon material

More information

CSE 410: Systems Programming

CSE 410: Systems Programming CSE 410: Systems Programming Input and Output Ethan Blanton Department of Computer Science and Engineering University at Buffalo I/O Kernel Services We have seen some text I/O using the C Standard Library.

More information

Week 13. Final exam review

Week 13. Final exam review Week 13. Final exam review 1. True or false? A. I claim that linked lists have the following advantages over the arrays: They allow insertion in the middle in a constant time They allow access to the element

More information

CARRIER-SW-82. Linux Device Driver. IPAC Carrier Version 2.2.x. User Manual. Issue November 2017

CARRIER-SW-82. Linux Device Driver. IPAC Carrier Version 2.2.x. User Manual. Issue November 2017 The Embedded I/O Company CARRIER-SW-82 Linux Device Driver IPAC Carrier Version 2.2.x User Manual Issue 2.2.0 November 2017 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek, Germany Phone: +49 (0)

More information

Input and Output System Calls

Input and Output System Calls Chapter 2 Input and Output System Calls Internal UNIX System Calls & Libraries Using C --- 1011 OBJECTIVES Upon completion of this unit, you will be able to: Describe the characteristics of a file Open

More information

Preview. The pause() System Call. The pause() System Call. The signal() System Call 10/18/2017

Preview. The pause() System Call. The pause() System Call. The signal() System Call 10/18/2017 Preview The pause() System Call The pause() System call The signal() system call Signal set The sigprocmask() system call The sigaction() system call The sigsuspend() system call The abort() system call

More information

Hyo-bong Son Computer Systems Laboratory Sungkyunkwan University

Hyo-bong Son Computer Systems Laboratory Sungkyunkwan University File I/O Hyo-bong Son (proshb@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Unix Files A Unix file is a sequence of m bytes: B 0, B 1,..., B k,..., B m-1 All I/O

More information

Communication. Serial port programming

Communication. Serial port programming Applied mechatronics Communication. Serial port programming Sven Gestegård Robertz sven.robertz@cs.lth.se Department of Computer Science, Lund University 2017 Outline 1 Introduction 2 Terminal I/O programming

More information

TPMC901-SW-95. QNX4 - Neutrino Device Driver. User Manual. The Embedded I/O Company. 6/4/2 Channel Extended CAN-Bus PMC

TPMC901-SW-95. QNX4 - Neutrino Device Driver. User Manual. The Embedded I/O Company. 6/4/2 Channel Extended CAN-Bus PMC The Embedded I/O Company TPMC901-SW-95 QNX4 - Neutrino Device Driver 6/4/2 Channel Extended CAN-Bus PMC User Manual Issue 1.0 Version 1.0.0 October 2002 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek

More information

Recitation 8: Tshlab + VM

Recitation 8: Tshlab + VM Recitation 8: Tshlab + VM Instructor: TAs 1 Outline Labs Signals IO Virtual Memory 2 TshLab and MallocLab TshLab due Tuesday MallocLab is released immediately after Start early Do the checkpoint first,

More information

COM324 System Programming. Midterm Exam

COM324 System Programming. Midterm Exam Name: COM324 System Programming Spring 2009-2010 Computer Engineering Department Near East University Midterm Exam April 28, 2010 [11:30A] Lecturer: Hüseyin Sevay INSTRUCTIONS You have 100 minutes for

More information

System calls. Reading from a file. Closing a file

System calls. Reading from a file. Closing a file System calls The C language and C compiler has no knowledge about system calls. They are just function calls to precompiled functions. Example: fd = open( test.c, O_RDONLY); This will open the file test.c

More information

COSC Operating Systems Design, Fall Lecture Note: Unnamed Pipe and Shared Memory. Unnamed Pipes

COSC Operating Systems Design, Fall Lecture Note: Unnamed Pipe and Shared Memory. Unnamed Pipes COSC4740-01 Operating Systems Design, Fall 2001 Lecture Note: Unnamed Pipe and Shared Memory Unnamed Pipes Pipes are a form of Inter-Process Communication (IPC) implemented on Unix and Linux variants.

More information

I/O OPERATIONS. UNIX Programming 2014 Fall by Euiseong Seo

I/O OPERATIONS. UNIX Programming 2014 Fall by Euiseong Seo I/O OPERATIONS UNIX Programming 2014 Fall by Euiseong Seo Files Files that contain a stream of bytes are called regular files Regular files can be any of followings ASCII text Data Executable code Shell

More information

Windows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C.

Windows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C. Structure Unix architecture users Functions of the System tools (shell, editors, compilers, ) standard library System call Standard library (printf, fork, ) OS kernel: processes, memory management, file

More information

TIP120-SW-42. VxWorks Device Driver. Motion Controller with Incremental Encoder Interface. Version 2.1.x. User Manual. Issue 2.1.

TIP120-SW-42. VxWorks Device Driver. Motion Controller with Incremental Encoder Interface. Version 2.1.x. User Manual. Issue 2.1. The Embedded I/O Company TIP120-SW-42 VxWorks Device Driver Motion Controller with Incremental Encoder Interface Version 2.1.x User Manual Issue 2.1.0 May 2010 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469

More information

OS COMPONENTS OVERVIEW OF UNIX FILE I/O. CS124 Operating Systems Fall , Lecture 2

OS COMPONENTS OVERVIEW OF UNIX FILE I/O. CS124 Operating Systems Fall , Lecture 2 OS COMPONENTS OVERVIEW OF UNIX FILE I/O CS124 Operating Systems Fall 2017-2018, Lecture 2 2 Operating System Components (1) Common components of operating systems: Users: Want to solve problems by using

More information

TPMC500-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. 32 Channel 12 Bit ADC. Version 2.0.x. Issue 2.0.

TPMC500-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. 32 Channel 12 Bit ADC. Version 2.0.x. Issue 2.0. The Embedded I/O Company TPMC500-SW-42 VxWorks Device Driver 32 Channel 12 Bit ADC Version 2.0.x User Manual Issue 2.0.0 October 2004 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 e-mail: info@tews.com 25469 Halstenbek

More information

TDRV006-SW-42. VxWorks Device Driver. 64 Digital Inputs/Outputs (Bit I/O) Version 4.0.x. User Manual. Issue December 2017

TDRV006-SW-42. VxWorks Device Driver. 64 Digital Inputs/Outputs (Bit I/O) Version 4.0.x. User Manual. Issue December 2017 The Embedded I/O Company TDRV006-SW-42 VxWorks Device Driver 64 Digital Inputs/Outputs (Bit I/O) Version 4.0.x User Manual Issue 4.0.0 December 2017 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek,

More information

Introduction to File Systems. CSE 120 Winter 2001

Introduction to File Systems. CSE 120 Winter 2001 Introduction to File Systems CSE 120 Winter 2001 Files Files are an abstraction of memory that are stable and sharable. Typically implemented in three different layers of abstraction 3 I/O system: interrupt

More information

ECEN 449 Microprocessor System Design. Review of C Programming. Texas A&M University

ECEN 449 Microprocessor System Design. Review of C Programming. Texas A&M University ECEN 449 Microprocessor System Design Review of C Programming 1 Objectives of this Lecture Unit Review C programming basics Refresh programming skills 2 Basic C program structure # include main()

More information

I/O OPERATIONS. UNIX Programming 2014 Fall by Euiseong Seo

I/O OPERATIONS. UNIX Programming 2014 Fall by Euiseong Seo I/O OPERATIONS UNIX Programming 2014 Fall by Euiseong Seo Files Files that contain a stream of bytes are called regular files Regular files can be any of followings ASCII text Data Executable code Shell

More information

Preview. System Call. System Call. System Call. System Call. Library Functions 9/20/2018. System Call

Preview. System Call. System Call. System Call. System Call. Library Functions 9/20/2018. System Call Preview File Descriptors for a Process for Managing Files write read open close lseek A system call is a request for the operating system to do something on behalf of the user's program. The system calls

More information

Lecture 21 Systems Programming in C

Lecture 21 Systems Programming in C Lecture 21 Systems Programming in C A C program can invoke UNIX system calls directly. A system call can be defined as a request to the operating system to do something on behalf of the program. During

More information

10. I/O System Library

10. I/O System Library 10. I/O System Library Header File #include // Found in C:\Nburn\include General File Descriptor Functions close --- Close open file descriptors read --- Read data from a file descriptor ReadWithTimeout

More information

File Descriptors and Piping

File Descriptors and Piping File Descriptors and Piping CSC209: Software Tools and Systems Programming Furkan Alaca & Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Week 8 Today s topics File Descriptors

More information

The course that gives CMU its Zip! I/O Nov 15, 2001

The course that gives CMU its Zip! I/O Nov 15, 2001 15-213 The course that gives CMU its Zip! I/O Nov 15, 2001 Topics Files Unix I/O Standard I/O A typical hardware system CPU chip register file ALU system bus memory bus bus interface I/O bridge main memory

More information

CMSC 216 Introduction to Computer Systems Lecture 17 Process Control and System-Level I/O

CMSC 216 Introduction to Computer Systems Lecture 17 Process Control and System-Level I/O CMSC 216 Introduction to Computer Systems Lecture 17 Process Control and System-Level I/O Sections 8.2-8.5, Bryant and O'Hallaron PROCESS CONTROL (CONT.) CMSC 216 - Wood, Sussman, Herman, Plane 2 Signals

More information

CSE 333 Section 8 - Client-Side Networking

CSE 333 Section 8 - Client-Side Networking CSE 333 Section 8 - Client-Side Networking Welcome back to section! We re glad that you re here :) Networking Quick Review What are the following protocols used for? (bonus: what layer of the networking

More information

Lecture files in /home/hwang/cs375/lecture05 on csserver.

Lecture files in /home/hwang/cs375/lecture05 on csserver. Lecture 5 Lecture files in /home/hwang/cs375/lecture05 on csserver. cp -r /home/hwang/cs375/lecture05. scp -r user@csserver.evansville.edu:/home/hwang/cs375/lecture05. Project 1 posted, due next Thursday

More information

ICS-121. VxWORKS DEVICE DRIVER MANUAL

ICS-121. VxWORKS DEVICE DRIVER MANUAL ICS-121 VxWORKS DEVICE DRIVER MANUAL Interactive Circuits And Systems Ltd. February 1999 The information in this manual has been carefully checked and is believed to be reliable; however, no responsibility

More information

Name :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70

Name :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 Name :. Roll No. :..... Invigilator s Signature :.. 2011 INTRODUCTION TO PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give

More information

ECEN 449 Microprocessor System Design. Review of C Programming

ECEN 449 Microprocessor System Design. Review of C Programming ECEN 449 Microprocessor System Design Review of C Programming 1 Objectives of this Lecture Unit Review C programming basics Refresh es programming g skills s 2 1 Basic C program structure # include

More information

SOFTWARE ARCHITECTURE 3. SHELL

SOFTWARE ARCHITECTURE 3. SHELL 1 SOFTWARE ARCHITECTURE 3. SHELL Tatsuya Hagino hagino@sfc.keio.ac.jp slides URL https://vu5.sfc.keio.ac.jp/sa/login.php 2 Software Layer Application Shell Library MIddleware Shell Operating System Hardware

More information

Asynchronous Events on Linux

Asynchronous Events on Linux Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy

More information

Recitation Processes, Signals,UNIX error handling

Recitation Processes, Signals,UNIX error handling 15-213 Recitation Processes, Signals,UNIX error handling Section X - TA name 18 March 2019 Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition 1 Outline Logistics Process

More information

Systems Programming. COSC Software Tools. Systems Programming. High-Level vs. Low-Level. High-Level vs. Low-Level.

Systems Programming. COSC Software Tools. Systems Programming. High-Level vs. Low-Level. High-Level vs. Low-Level. Systems Programming COSC 2031 - Software Tools Systems Programming (K+R Ch. 7, G+A Ch. 12) The interfaces we use to work with the operating system In this case: Unix Programming at a lower-level Systems

More information

First Semester Examination Introduction to Computer Systems (COMP2300/COMP6300)

First Semester Examination Introduction to Computer Systems (COMP2300/COMP6300) First Semester Examination 2011 Introduction to Computer Systems (COMP2300/COMP6300) Writing Period: 3 hour duration Study Period: 15 minutes duration Permitted Materials: One A4 page with notes on both

More information

Lecture 3. Introduction to Unix Systems Programming: Unix File I/O System Calls

Lecture 3. Introduction to Unix Systems Programming: Unix File I/O System Calls Lecture 3 Introduction to Unix Systems Programming: Unix File I/O System Calls 1 Unix File I/O 2 Unix System Calls System calls are low level functions the operating system makes available to applications

More information

System Calls and Signals: Communication with the OS. System Call. strace./hello. Kernel. Context Switch

System Calls and Signals: Communication with the OS. System Call. strace./hello. Kernel. Context Switch System Calls and Signals: Communication with the OS Jonathan Misurda jmisurda@cs.pitt.edu System Call An operation (function) that an OS provides for running applications to use CS 1550 2077 strace./hello

More information

TIP670-SW-95. QNX-Neutrino Device Driver. User Manual. The Embedded I/O Company. Digital I/O. Version 1.0.x. Issue August 2008.

TIP670-SW-95. QNX-Neutrino Device Driver. User Manual. The Embedded I/O Company. Digital I/O. Version 1.0.x. Issue August 2008. The Embedded I/O Company TIP670-SW-95 QNX-Neutrino Device Driver Digital I/O Version 1.0.x User Manual Issue 1.0.0 August 2008 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 Phone: +49 (0) 4101 4058 0 25469 Halstenbek,

More information

TIP570-SW-95 QNX-Neutrino Device Driver TIP570 16/8 Channel 12 Bit ADC and 8 Channel 12 Bit DAC on SBS PCI40 Carrier

TIP570-SW-95 QNX-Neutrino Device Driver TIP570 16/8 Channel 12 Bit ADC and 8 Channel 12 Bit DAC on SBS PCI40 Carrier TIP570-SW-95 QNX-Neutrino Device Driver TIP570 16/8 Channel 12 Bit ADC and 8 Channel 12 Bit DAC on SBS PCI40 Carrier Version 1.0.x Reference Manual Issue 1.0 January 2002 TEWS TECHNOLOGIES GmbH Am Bahnhof

More information

Advcan QNX Driver User Manual V1.02

Advcan QNX Driver User Manual V1.02 Advcan QNX Driver User Manual V1.02 Contents 1. Introduction...1 1.1. System Requirement...1 1.2. Driver configuration...1 2. AdvCan Data Structures...2 2.1. Canmsg_t Struct Reference...2 2.2. CanStatusPar

More information

CSC209H Lecture 6. Dan Zingaro. February 11, 2015

CSC209H Lecture 6. Dan Zingaro. February 11, 2015 CSC209H Lecture 6 Dan Zingaro February 11, 2015 Zombie Children (Kerrisk 26.2) As with every other process, a child process terminates with an exit status This exit status is often of interest to the parent

More information

TMS320C3X Floating Point DSP

TMS320C3X Floating Point DSP TMS320C3X Floating Point DSP Microcontrollers & Microprocessors Undergraduate Course Isfahan University of Technology Oct 2010 By : Mohammad 1 DSP DSP : Digital Signal Processor Why A DSP? Example Voice

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 17: Processes, Pipes, and Signals Cristina Nita-Rotaru Lecture 17/ Fall 2013 1 Processes in UNIX UNIX identifies processes via a unique Process ID Each process also knows

More information

EL2310 Scientific Programming

EL2310 Scientific Programming Lecture 11: Memory, Files and Bitoperations (yaseminb@kth.se) Overview Overview Lecture 11: Memory, Files and Bit operations Main function; reading and writing Bitwise Operations Lecture 11: Memory, Files

More information

CSE 333 Midterm Exam 2/12/16. Name UW ID#

CSE 333 Midterm Exam 2/12/16. Name UW ID# Name UW ID# There are 6 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,

More information

A brief introduction to C programming for Java programmers

A brief introduction to C programming for Java programmers A brief introduction to C programming for Java programmers Sven Gestegård Robertz September 2017 There are many similarities between Java and C. The syntax in Java is basically

More information

CSC209H Lecture 8. Dan Zingaro. March 4, 2015

CSC209H Lecture 8. Dan Zingaro. March 4, 2015 CSC209H Lecture 8 Dan Zingaro March 4, 2015 Signals you Already Know Like pipes, signals are a form of inter-process communication You ve already sent signals using the shell When you hit ctrl+c to terminate

More information

TIP114-SW-72. LynxOS Device Driver. User Manual. The Embedded I/O Company. 10 Channel Absolute Encoder Interface (SSI) Version 1.0.

TIP114-SW-72. LynxOS Device Driver. User Manual. The Embedded I/O Company. 10 Channel Absolute Encoder Interface (SSI) Version 1.0. The Embedded I/O Company TIP114-SW-72 LynxOS Device Driver 10 Channel Absolute Encoder Interface (SSI) Version 1.0.0 User Manual Issue 1.0 February 2004 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek

More information

Preview. Process Control. What is process? Process identifier The fork() System Call File Sharing Race Condition. COSC350 System Software, Fall

Preview. Process Control. What is process? Process identifier The fork() System Call File Sharing Race Condition. COSC350 System Software, Fall Preview Process Control What is process? Process identifier The fork() System Call File Sharing Race Condition COSC350 System Software, Fall 2015 1 Von Neumann Computer Architecture: An integrated set

More information

Large Systems: Design + Implementation: Communication Coordination Replication. Image (c) Facebook

Large Systems: Design + Implementation: Communication Coordination Replication. Image (c) Facebook Large Systems: Design + Implementation: Image (c) Facebook Communication Coordination Replication Credits Slides largely based on Distributed Systems, 3rd Edition Maarten van Steen Andrew S. Tanenbaum

More information

CSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song

CSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song CSCE 313 Introduction to Computer Systems Instructor: Dezhen Song UNIX I/O Files and File Representation Basic operations: Reading / Writing Caching: File Open / Close Multiplexing: Select / Poll File

More information

OPTO32A 24 Input Bit, 8 Output Bit Optical Isolator Board

OPTO32A 24 Input Bit, 8 Output Bit Optical Isolator Board OPTO32A 24 Input Bit, 8 Output Bit Optical Isolator Board PMC-OPTO32A Linux Device Driver User Manual Manual Revision: July 15, 2005 General Standards Corporation 8302A Whitesburg Drive Huntsville, AL

More information

Operating System Labs. Yuanbin Wu

Operating System Labs. Yuanbin Wu Operating System Labs Yuanbin Wu cs@ecnu Announcement Project 1 due 21:00, Oct. 8 Operating System Labs Introduction of I/O operations Project 1 Sorting Operating System Labs Manipulate I/O System call

More information

CS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco

CS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level

More information

CS360 Midterm 2 Spring, 2016 James S. Plank March 10, 2016

CS360 Midterm 2 Spring, 2016 James S. Plank March 10, 2016 CS360 Midterm 2 Spring, 2016 James S. Plank March 10, 2016 In all of these questions, please assume the following: Pointers and longs are 4 bytes. The machine is little endian, but that doesn't matter

More information

Computer Programming Lecture 1 이윤진서울대학교

Computer Programming Lecture 1 이윤진서울대학교 Computer Programming Lecture 1 이윤진서울대학교 2007.12.20. Slide Credits 엄현상교수님 서울대학교컴퓨터공학부 Computer Programming, g, 2007 봄학기 순서 강의소개 강의목표 강의개요 수업진행방법및평가 UNIX/LINUX 기초 주요기능 주요기능 파일시스템 강의목표 Unix/Linux 중심의프로그래밍

More information

OPERATING SYSTEMS: Lesson 2: Operating System Services

OPERATING SYSTEMS: Lesson 2: Operating System Services OPERATING SYSTEMS: Lesson 2: Operating System Services Jesús Carretero Pérez David Expósito Singh José Daniel García Sánchez Francisco Javier García Blas Florin Isaila 1 Goals To understand what an operating

More information

Bootloading the TMS320VC5402 in HPI Mode

Bootloading the TMS320VC5402 in HPI Mode Application Report SPRA382 April 2002 Bootloading the TMS320VC5402 in HPI Mode Scott Tater DSP Applications Semiconductor Group ABSTRACT The TMS320VC5402 bootloader allows the system designer flexibility

More information

Programming refresher and intro to C programming

Programming refresher and intro to C programming Applied mechatronics Programming refresher and intro to C programming Sven Gestegård Robertz sven.robertz@cs.lth.se Department of Computer Science, Lund University 2018 Outline 1 C programming intro 2

More information

CSC 271 Software I: Utilities and Internals

CSC 271 Software I: Utilities and Internals CSC 271 Software I: Utilities and Internals Lecture 13 : An Introduction to File I/O in Linux File Descriptors All system calls for I/O operations refer to open files using a file descriptor (a nonnegative

More information

TIP700-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. Digital Output 24V DC. Version 2.0.x. Issue June 2008.

TIP700-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. Digital Output 24V DC. Version 2.0.x. Issue June 2008. The Embedded I/O Company TIP700-SW-42 VxWorks Device Driver Digital Output 24V DC Version 2.0.x User Manual Issue 2.0.1 June 2008 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 Phone: +49 (0) 4101 4058 0 25469 Halstenbek,

More information

CSC209 Review. Yeah! We made it!

CSC209 Review. Yeah! We made it! CSC209 Review Yeah! We made it! 1 CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files 2 ... and C programming... C basic syntax functions

More information

Power Hawk Series 700 Closely-Coupled Programming Guide

Power Hawk Series 700 Closely-Coupled Programming Guide Power Hawk Series 700 Closely-Coupled Programming Guide 0891087-000 June 2001 Copyright 2001 by Concurrent Computer Corporation. All rights reserved. This publication or any part thereof is intended for

More information

W4118: OS Overview. Junfeng Yang

W4118: OS Overview. Junfeng Yang W4118: OS Overview Junfeng Yang References: Modern Operating Systems (3 rd edition), Operating Systems Concepts (8 th edition), previous W4118, and OS at MIT, Stanford, and UWisc Outline OS definitions

More information

CS 201. Files and I/O. Gerson Robboy Portland State University

CS 201. Files and I/O. Gerson Robboy Portland State University CS 201 Files and I/O Gerson Robboy Portland State University A Typical Hardware System CPU chip register file ALU system bus memory bus bus interface I/O bridge main memory USB controller graphics adapter

More information

Chapter 10. The UNIX System Interface

Chapter 10. The UNIX System Interface 프로그래밍 1 1 Chapter 10. The UNIX System Interface June, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 파일의개념 (1/5) 2 파일의정의 사용자가이용할수있는데이터의실체레코드들의집합이라고정의 파일의필요성 데이터의효율적인저장및검색을위해파일단위구분

More information

Outline. Overview. Linux-specific, since kernel 2.6.0

Outline. Overview. Linux-specific, since kernel 2.6.0 Outline 25 Alternative I/O Models 25-1 25.1 Overview 25-3 25.2 Signal-driven I/O 25-9 25.3 I/O multiplexing: poll() 25-12 25.4 Problems with poll() and select() 25-29 25.5 The epoll API 25-32 25.6 epoll

More information

SYSTEM CALL IMPLEMENTATION. CS124 Operating Systems Fall , Lecture 14

SYSTEM CALL IMPLEMENTATION. CS124 Operating Systems Fall , Lecture 14 SYSTEM CALL IMPLEMENTATION CS124 Operating Systems Fall 2017-2018, Lecture 14 2 User Processes and System Calls Previously stated that user applications interact with the kernel via system calls Typically

More information

Recitation 8 Processes, Signals, Tshlab

Recitation 8 Processes, Signals, Tshlab 15-213 Recitation 8 Processes, Signals, Tshlab 22 October 2018 1 Outline Cachelab Style Process Lifecycle Signal Handling 2 Cachelab Style Grading Style grades will be available "soon" Click on your score

More information

Overview. Administrative. * HW 1 grades. * HW 2 Due. Topics. * 5.1 What is a Signal? * Dealing with Signals - masks, handlers

Overview. Administrative. * HW 1 grades. * HW 2 Due. Topics. * 5.1 What is a Signal? * Dealing with Signals - masks, handlers Overview Administrative * HW 1 grades * HW 2 Due Topics * 5.1 What is a Signal? * 5.2-3 Dealing with Signals - masks, handlers * 5.4 Synchronization: pause(), sigsuspend() * 5.6 Interaction with other

More information