Unit 5: Low-Level I/O
CptS 360 (System Programming) Unit 5: Low-Level I/O
Bob Lewis
School of Engineering and Applied Sciences Washington State University
Spring, 2020
Bob Lewis WSU CptS 360 (Spring, 2020)
CptS 360 (System Programming) Unit 5: Low-Level I/O Bob Lewis - - PowerPoint PPT Presentation
Unit 5: Low-Level I/O CptS 360 (System Programming) Unit 5: Low-Level I/O Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2020 Bob Lewis WSU CptS 360 (Spring, 2020) Unit 5: Low-Level I/O Motivation
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
◮ Q: What is the C type used for a file descriptor? ◮ Q: What are the typical values of file descriptors?
◮ Q: What are they and what do they correspond to? Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
◮ user ◮ members of the user’s group ◮ ”other”
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
◮ standard input (filedes == 0)? ◮ standard output (filedes == 1)?
◮ SEEK_SET ◮ SEEK_CUR ◮ SEEK_END
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
◮ Workaround: O_APPEND
◮ resolved with O_CREAT and O_EXCL flags to open(). Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 5: Low-Level I/O
Bob Lewis WSU CptS 360 (Spring, 2020)