Programiranje za UNIX. Datoteke i direktoriji
|
|
- Silas Morton
- 6 years ago
- Views:
Transcription
1 Programiranje za UNIX Datoteke i direktoriji
2 Sadržaj Svojstva UNIX datoteka Korisnici i prava Operacije sa linkovima Rad s direktorijima Sistemske datoteke Sistemske informacije 2
3 Svojstva datoteke Svojstva datoteke (file attributes) dokhvaćaju se korištenjem stat sistemskih poziva: stat vraća strukturu sa datotečnim atributima za danu datoteku (poziva se sa imenom datoteke) fstat vraća strukturu sa datotečnim atributima za datoteku otvorenu na file descriptoru lstat vraća informacije o simboličkom linku, ne o datoteci na koju link pokazuje 3
4 stat sistemski pozivi #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); int lstat(const char *path, struct stat *buf); Vraća 0, -1 u slučaju greške Sve navedene funkcije kao drugi argument koriste pokazivač na strukturu struct stat 4
5 struct stat { mode_t st_mode; // tip i mod (prava pristupa) ino_t st_ino; // i node dev_t st_dev; // device number dev_t st_rdev; // device number za spec. dat. nlink_t st_nlink; // broj linkova uid_t st_uid; // user ID vlasnika gid_t st_gid; // group ID vlasnika off_t st_size; // velicina (za reg. datoteke) time_t st_atime; // zadnji pristup datoteci time_t st_mtime; // zadnja izmjena time_t st_ctime; // zadnja promjena statusa blksize_t st_blksize; // optimalna velicina IO bloka blkcnt_t st_blocks; // broj alociranih blokova };
6 Tipovi datoteka UNIX podržava sljedeće tipove datoteka: Regularna datoteka Direktorij sadrži imena datoteka Blok specijalna datoteka baferirani pristup uređajima sa fiksnom veličinom bloka podataka Karakter specijalne datoteka nebaferirani pristup sa varijabilnom veličinom jedinice prijenosa FIFO komunikacija među procesima Socket lokalna i komunikacija putem mreže Simbolički link sadrži ime druge datoteke 6
7 Dohvatanje tipa datoteke Enkodirano u st_mode članu stat strukture Otkriva se korištenjem makro funkcija: S_ISREG - regularna datoteka S_ISDIR - direktorij S_ISBLK - blok specijalna datoteka S_ISCHR - karakter specijalna datoteka S_ISFIFO - FIFO S_ISLNK - simbolički link S_ISSOCK - socket 7
8 Korisnici i procesi Svaki proces ima 6 ili više identifikacijskih brojeva koji su s njim povezani Stvarni vlasnik procesa: real user ID Real group ID Efektivno vlasništvo, zamjenske grupe Effective user ID Effective group ID Supplementary group IDs Saved by exec Saved set-user-id Saved set-group-id 8
9 Efektivni user i group ID Kod pokretanja programa sistemskim pozivom exec, UID i GID se ne mijenjaju (uzimaju se od korisnika koji program pokreće) Što ako je određenom procesu potrebno dati prava koja korisnik uobičajeno nema? Npr. Promjena lozinke zahtjeva pisanje u /etc/shadow datoteku Postoji mogućnost uključivanja zastavice (bita) u st_mode članu: Kada je ovaj bit uključen, efektivni vlasnik procesa postaje vlasnik datoteke (isto vrijedi i za efektivni GID) 9
10 access provjera prava #include <unistd.h> int access(const char *pathname, int mode); Vraća 0, -1 ukoliko najmanje jedan bit u mode nije dopušten u pravima pristupa za danu datoteku, ili je došlo do druge greške Provjerava stvarna prava pristupa za datoteku (real UID & GID) Provjeravaju se prava zadana u argumentu mode R_OK - pravo čitanja W_OK - pravo pisanja X_OK - pravo izvršavanja F_OK - provjerava se postojanje datoteke 10
11 Prava pristupa - st_mode 9 bitova označavaju prava pristupa : S_IRUSR - user-read S_IWUSR - user-write S_IXUSR - user-execute S_IRGRP - group-read S_IWGRP - group-write S_IXGRP - group-execute S_IROTH - other-read S_IWOTH - other-write S_IXOTH - other-execute Testiranje setuid I setgid prava: S_ISUID, S_ISGID 11
12 umask maska procesa #include <sys/stat.h> mode_t umask(mode_t cmask); Vraća prethodnu vrijednost maske za proces cmask dobija se kombiniranjem konstanti S_IRUSR, S_IWUSR, Maska se koristi svaki put kod kreiranja nove datoteke (open, creat) Prava uključena u maski procesa isključena su u pravima pristupa za datoteku!!! 12
13 Promjena prava pristupa Sistemski pozivi chmod, fchmod: #include <sys/stat.h> int chmod(const char *path, mode_t mode); int fchmod(int fd, mode_t mode); Obje funkcije vraćaju 0, -1 u slučaju greške Za promjenu prava pristupa mora biti zadovoljen jedan od 2 uvjeta: Efektivni UID procesa mora biti isti kao ID vlasnika datoteke Proces mora imati ovlasti superusera (root) 13
14 Promjena vlasništva #include <unistd.h> int chown(const char *pathname, uid_t owner, \ gid_t group); int fchown(int fd, uid_t owner, gid_t group); int lchown(const char *pathname, uid_t owner, \ gid_t group); Sve funkcije vraćaju 0, -1 u slučaju greške chown i lchown se pozivaju sa imenom datoteke, fchown se koristi za datoteku otvorenu na file deskriptoru lchown mijenja vlasnika za simbolički link, ne na datoteci na koju link pokazuje Proces mora imati ovlasti superusera (root)! 14
15 Čvrsti linkovi (hard link) "Različita" imena iste datoteke (u istom ili različitim direktorijima) Svi hard linkovi na datoteku moraju biti u istom datotečnom sustavu (na istom disku/particiji) Samo superuser može naprviti link na direktorij Brisanjem datoteke (rm dat_ime) briše se hard link na datoteku (directory entry) Kada link count padne na 0 (brisanjem zadnjeg linka) briše se i datoteka sa diska 15
16 UNIX datotečni sustav disk partition partition partition filesystem boot block(s) super block i-list directory blocks and data blocks i-node i-node... i-node 16
17 UNIX datotečni sustav i-node je zapis fiksne dužine koji sadrži informacije o datoteci directory and data blocks i-list data block data block directory block data block directory block 1. data block 2. data block i-node i-node i-node i-node 3. data block i-node number filename i-node number filename Dvije datoteke u dva različita Direktorija pokazuju na isti i-node 17
18 Link na postojeću datoteku Stvaranjem linka na postojeću datoteku stvara se novi zapis u direktoriju (directory entry) #include <unistd.h> int link(const char *oldpath, \ const char *newpath); int unlink(const char *pathname); Obje funkcije vraćaju 0, -1 u slučaju greške Stvaranje linka i povećanje st_nlink člana stat strukture je atomska operacija 18
19 Simbolički linkovi Simbolički link sadrži ime (putanju) na datoteku na koju pokazuje Simbolički linkovi mogu pokazivati na datoteke na drugim datotečnim sustavima U trenutku kreiranja simboličkog linka ne mora postojati datoteka na koju link pokazuje Brisanjem datoteke ne brišu se i linkovi koji na nju pokazuju #include <unistd.h> int symlink(const char *actualpath, \ const char *sympath); Vraća 0, -1 u slučaju greške 19
20 readlink funkcija Funkcija open otvara datoteku na koju simbolički link pokazuje readlink: otvara link (ne datoteku na koju pokazuje) Učitava putanju na datoteku (kako je zapisana u linku) u bufer #include <unistd.h> ssize_t readlink(const char *path, \ char *buf, size_t bufsize); Vraća broj byteova učitanih u buf (dužinu imena datoteke), -1 u slučaju greške 20
21 Vremena pristupa za datoteku Za svaku datoteku čuvaju se tri vremena: st_atime zadnji pristup sadržaju datoteke npr. čitanje datoteke st_mtime zadnja izmjena datoteke npr. pisanje u datoteku st_ctime zadnja izmjena statusa datoteke Prava pristupa Promjena UID, GID Promjena broja linkova... 21
22 Promjena vremena Funkcija utime mijenja vrijeme zadnjeg pristupa i promjene sadržaja #include <sys/types.h> #include <utime.h> int utime(const char *pathname, \ const struct utimbuf *times); struct utimbuf { time_t actime; time_t modtime; }; // vrijeme pristupa // vrijeme promjene Vraća broj byteova učitanih u buf (dužinu imena datoteke), -1 u slučaju greške 22
23 Upravljanje direktorijima #include <unistd.h> int mkdir(const char *pathname, mode_t mode); Vraća 0, -1 u slučaju greške. U direktoriju se automatski kreiraju datoteke. i.. #include <sys/stat.h> int rmdir(const char *pathname); Vraća 0, -1 u slučaju greške. Direktorij koji se briše mora biti prazan. 23
24 Čitanje direktorija #include <dirent.h> DIR *opendir(const char *pathname); struct dirent *readdir(dir *dp); void rewinddir(dir *dp); int closedir(dir *dp); long telldir(dir *dp); long seekdir(dir *dp, long loc); struct dirent { ino_t d_ino; char d_name[name_max+1]; } Samo kernel ima mogućnost pisanja u direktorij! 24
25 Radni direktorij Home direktoij je svojstvo korisnika Trenutni radni direktorij (CWD) je svojstvo procesa Upravljanje radnim direktorijem: #include <unistd.h> char *getcwd(char *buf, size_t size); Vraća trenutni radni direktorij, NULL pokazivač u slučaju greške int chdir(const char *pathname); int fchdir(int filedes); Vraćaju 0, -1 u slučaju greške 25
Files and Directories
Contents 1. Preface/Introduction 2. Standardization and Implementation 3. File I/O 4. Standard I/O Library 5. Files and Directories 6. System Data Files and Information 7. Environment of a Unix Process
More informationRicardo 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 informationFile and Directories. Advanced Programming in the UNIX Environment
File and Directories Advanced Programming in the UNIX Environment stat Function #include int stat(const char *restrict pathname, struct stat *restrict buf ); int fstat(int fd, struct stat
More informationChapter 4 - Files and Directories. Information about files and directories Management of files and directories
Chapter 4 - Files and Directories Information about files and directories Management of files and directories File Systems Unix File Systems UFS - original FS FFS - Berkeley ext/ext2/ext3/ext4 - Linux
More informationFiles and Directories Objectives Additional Features of the File System Properties of a File. Three major functions that return file information:
Files and Directories Objectives Additional Features of the File System Properties of a File. Three major functions that return file information: #include #include int stat(const
More informationFiles and directories. Updated by: Dr. Safwan Qasem Spring 2010 Original version created by: Dr. Mohamed El Bachir Menai
Files and directories Updated by: Dr. Safwan Qasem Spring 2010 Original version created by: Dr. Mohamed El Bachir Menai 1 Files and Directories Objectives Additional Features of the File System Properties
More informationSystem Calls. Library Functions Vs. System Calls. Library Functions Vs. System Calls
System Calls Library Functions Vs. System Calls A library function: Ordinary function that resides in a library external to the calling program. A call to a library function is just like any other function
More informationI/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 informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu CS@ECNU Operating System Labs Project 3 Oral test Handin your slides Time Project 4 Due: 6 Dec Code Experiment report Operating System Labs Overview of file system File
More informationI/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 informationFiles and Directories Filesystems from a user s perspective
Files and Directories Filesystems from a user s perspective Unix Filesystems Seminar Alexander Holupirek Database and Information Systems Group Department of Computer & Information Science University of
More informationCS631 - Advanced Programming in the UNIX Environment
CS631 - Advanced Programming in the UNIX Environment Slide 1 CS631 - Advanced Programming in the UNIX Environment Files and Directories Department of Computer Science Stevens Institute of Technology Jan
More informationHyo-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 informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu CS@ECNU Operating System Labs Project 4 (multi-thread & lock): Due: 10 Dec Code & experiment report 18 Dec. Oral test of project 4, 9:30am Lectures: Q&A Project 5: Due:
More informationCS , Spring Sample Exam 3
Andrew login ID: Full Name: CS 15-123, Spring 2010 Sample Exam 3 Mon. April 6, 2009 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the
More informationFiles and Directories E. Im
Files and Directories 2009 E. Im 1 How to write the ls program? Is this a directory? Permissions for the owner Permissions for the members of the owner group group Symbolic links ($ln -s RigidBodyWin.h
More informationCSI 402 Lecture 11 (Unix Discussion on Files continued) 11 1 / 19
CSI 402 Lecture 11 (Unix Discussion on Files continued) 11 1 / 19 User and Group IDs Ref: Chapter 3 of [HGS]. Each user is given an ID (integer) called uid. (Most system programs use uid instead of the
More informationLinux C C man mkdir( ) mkdir Linux man mkdir mkdir( ) mkdir mkdir( )
D Linux Linux E-D.1 Linux C C man mkdir( ) mkdir Linux man mkdir mkdir( ) mkdir mkdir( ) jhchen@aho:~$ man -S 2 mkdir Reformatting mkdir(2), please wait... MKDIR(2) Linux Programmer's Manual MKDIR(2) NAME
More informationThesis, antithesis, synthesis
Identity Page 1 Thesis, antithesis, synthesis Thursday, December 01, 2011 4:00 PM Thesis, antithesis, synthesis We began the course by considering the system programmer's point of view. Mid-course, we
More informationCSC 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 informationf90 unix file: Unix File Operations Module March 9, 2009
f90 unix file: Unix File Operations Module March 9, 2009 1 Name f90 unix file Module of Unix file operations 2 Usage USE F90 UNIX FILE This module contains part of a Fortran API to functions detailed in
More informationOriginal ACL related man pages
Original ACL related man pages NAME getfacl - get file access control lists SYNOPSIS getfacl [-drlpvh] file... getfacl [-drlpvh] - DESCRIPTION For each file, getfacl displays the file name, owner, the
More informationProgramiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010
Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa
More informationImportant Dates. October 27 th Homework 2 Due. October 29 th Midterm
CSE333 SECTION 5 Important Dates October 27 th Homework 2 Due October 29 th Midterm String API vs. Byte API Recall: Strings are character arrays terminated by \0 The String API (functions that start with
More informationMemory Mapped I/O. Michael Jantz. Prasad Kulkarni. EECS 678 Memory Mapped I/O Lab 1
Memory Mapped I/O Michael Jantz Prasad Kulkarni EECS 678 Memory Mapped I/O Lab 1 Introduction This lab discusses various techniques user level programmers can use to control how their process' logical
More informationUNIX 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 informationCSci 4061 Introduction to Operating Systems. File Systems: Basics
CSci 4061 Introduction to Operating Systems File Systems: Basics File as Abstraction Naming a File creat/open ( path/name, ); Links: files with multiple names Each name is an alias #include
More informationFiles and Directories
Files and Directories Stat functions Given pathname, stat function returns structure of information about file fstat function obtains information about the file that is already open lstat same as stat
More informationOPERATING 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 informationCSC209F Midterm (L0101) Fall 1999 University of Toronto Department of Computer Science
CSC209F Midterm (L0101) Fall 1999 University of Toronto Department of Computer Science Date: October 26, 1999 Time: 1:10 pm Duration: 50 minutes Notes: 1. This is a closed book test, no aids are allowed.
More informationPreview. lseek System Calls. A File Copy 9/18/2017. An opened file offset can be explicitly positioned by calling lseek system call.
Preview lseek System Calls lseek() System call File copy dup() and dup2() System Cal Command Line Argument sat, fsat, lsat system Call ID s for a process File Access permission access System Call umask
More informationstructs as arguments
Structs A collection of related data items struct record { char name[maxname]; int count; ; /* The semicolon is important! It terminates the declaration. */ struct record rec1; /*allocates space for the
More informationFile Systems. q Files and directories q Sharing and protection q File & directory implementation
File Systems q Files and directories q Sharing and protection q File & directory implementation Files and file systems Most computer applications need to Store large amounts of data; larger than their
More informationFile System (FS) Highlights
CSCI 503: Operating Systems File System (Chapters 16 and 17) Fengguang Song Department of Computer & Information Science IUPUI File System (FS) Highlights File system is the most visible part of OS From
More informationFile I/O. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
File I/O Jin-Soo Kim (jinsookim@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 devices
More information17: Filesystem Examples: CD-ROM, MS-DOS, Unix
17: Filesystem Examples: CD-ROM, MS-DOS, Unix Mark Handley CD Filesystems ISO 9660 Rock Ridge Extensions Joliet Extensions 1 ISO 9660: CD-ROM Filesystem CD is divided into logical blocks of 2352 bytes.
More informationAutomated Test Generation in System-Level
Automated Test Generation in System-Level Pros + Can be easy to generate system TCs due to clear interface specification + No false alarm (i.e., no assert violation caused by infeasible execution scenario)
More informationwhich maintain a name to inode mapping which is convenient for people to use. All le objects are
UNIX Directory Organization UNIX directories are simple (generally ASCII) les which maain a name to inode mapping which is convenient for people to use. All le objects are represented by one or more names
More informationFile Systems. Today. Next. Files and directories File & directory implementation Sharing and protection. File system management & examples
File Systems Today Files and directories File & directory implementation Sharing and protection Next File system management & examples Files and file systems Most computer applications need to: Store large
More informationContents. NOTICE & Programming Assignment #1. QnA about last exercise. File IO exercise
File I/O Examples Prof. Jin-Soo Kim(jinsookim@skku.edu) TA - Dong-Yun Lee(dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Contents NOTICE & Programming Assignment
More informationFILE SYSTEMS. Jo, Heeseung
FILE SYSTEMS Jo, Heeseung TODAY'S TOPICS File system basics Directory structure File system mounting File sharing Protection 2 BASIC CONCEPTS Requirements for long-term information storage Store a very
More informationELEC-C7310 Sovellusohjelmointi Lecture 3: Filesystem
ELEC-C7310 Sovellusohjelmointi Lecture 3: Filesystem Risto Järvinen September 21, 2015 Lecture contents Filesystem concept. System call API. Buffered I/O API. Filesystem conventions. Additional stuff.
More informationMaster Calcul Scientifique - Mise à niveau en Informatique Written exam : 3 hours
Université de Lille 1 Année Universitaire 2015-2016 Master Calcul Scientifique - Mise à niveau en Informatique Written exam : 3 hours Write your code nicely (indentation, use of explicit names... ), and
More informationCSCI-E28 Lecture 3 Outline. Directories, File Attributes, Bits, File Operations. Write our own versions of Unix programs
CSCI-E28 Lecture 3 Outline Topics: Approach: Directories, File Attributes, Bits, File Operations Write our own versions of Unix programs Featured Commands: ls, ls -l Main Ideas: Adirectory is a list of
More informationFile I/O. Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University Embedded Software Lab.
1 File I/O Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University http://nyx.skku.ac.kr Unix files 2 A Unix file is a sequence of m bytes: B 0, B 1,..., B k,..., B m-1 All I/O devices are represented
More informationFiles and Directories Filesystems from a user s perspective
Files and Directories Filesystems from a user s perspective Unix Filesystems Seminar Alexander Holupirek Database and Information Systems Group Department of Computer & Information Science University of
More informationLinux Forensics. Newbug Tseng Oct
Linux Forensics Newbug Tseng Oct. 2004. Contents Are u ready Go Real World Exploit Attack Detect Are u ready Linux File Permission OWNER 4 2 1 GROUP 4 2 1 OTHER 4 2 1 R R R W SUID on exection 4000 X W
More informationThe link() System Call. Preview. The link() System Call. The link() System Call. The unlink() System Call 9/25/2017
Preview The link() System Call link(), unlink() System Call remove(), rename() System Call Symbolic link to directory Symbolic link to a executable file symlink() System Call File Times utime() System
More informationDesign Choices 2 / 29
File Systems One of the most visible pieces of the OS Contributes significantly to usability (or the lack thereof) 1 / 29 Design Choices 2 / 29 Files and File Systems What s a file? You all know what a
More informationContents. Programming Assignment 0 review & NOTICE. File IO & File IO exercise. What will be next project?
File I/O Prof. Jin-Soo Kim(jinsookim@skku.edu) TA - Dong-Yun Lee(dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Contents Programming Assignment 0 review & NOTICE
More informationFile Systems Overview. Jin-Soo Kim ( Computer Systems Laboratory Sungkyunkwan University
File Systems Overview Jin-Soo Kim ( jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system basics Directory structure File system mounting
More informationLecture 23: System-Level I/O
CSCI-UA.0201-001/2 Computer Systems Organization Lecture 23: System-Level I/O Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified) from: Clark Barrett
More informationCS 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 informationLecture 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 informationADVANCED OPERATING SYSTEMS UNIT 2 FILE AND DIRECTORY I/O BY MR.PRASAD SAWANT
ADVANCED OPERATING SYSTEMS UNIT 2 FILE AND DIRECTORY I/O BY MR.PRASAD SAWANT OUT LINE OF SESSION 1. Buffer headers 2. structure of the buffer pool 3. scenarios for retrieval of a buffer 4. reading and
More informationFile Types in Unix. Regular files which include text files (formatted) and binary (unformatted)
File Management Files can be viewed as either: a sequence of bytes with no structure imposed by the operating system. or a structured collection of information with some structure imposed by the operating
More informationSystem- Level I/O. Andrew Case. Slides adapted from Jinyang Li, Randy Bryant and Dave O Hallaron
System- Level I/O Andrew Case Slides adapted from Jinyang Li, Randy Bryant and Dave O Hallaron 1 Unix I/O and Files UNIX abstracts many things into files (just a series of bytes) All I/O devices are represented
More informationAdvanced Systems Security: Ordinary Operating Systems
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security:
More informationSystems Programming/ C and UNIX
Systems Programming/ C and UNIX Alice E. Fischer September 9, 2015 Alice E. Fischer Systems Programming Lecture 3... 1/39 September 9, 2015 1 / 39 Outline 1 Compile and Run 2 Unix Topics System Calls The
More informationUNIT I INTRODUCTION TO UNIX & FILE SYSTEM
INTRODUCTION TO UNIX & FILE SYSTEM Part A 1. What is UNIX? UNIX(Uniplexed Information Computing System) it is an operating system was developed in Early 1970 at Bell Labs. It was initially a character
More information0UNIT-III UNIX FILE SYSTEM
1 0UNIT-III UNIX FILE SYSTEM UNIX System Overview UNIX Architecture Login Name Shells Files and Directories 1. File System 2. Filename 3. Pathname 4. Working Directory, Home Directory File Structures Files
More informationThe 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 informationContents. NOTICE & Programming Assignment 0 review. What will be next project? File IO & File IO exercise
File I/O Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Dong-Yun Lee(dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Contents NOTICE & Programming Assignment 0 review
More informationAll the scoring jobs will be done by script
File I/O Prof. Jinkyu Jeong( jinkyu@skku.edu) TA-Seokha Shin(seokha.shin@csl.skku.edu) TA-Jinhong Kim( jinhong.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu
More informationOPERATING SYSTEMS: Lesson 12: Directories
OPERATING SYSTEMS: Lesson 12: Directories 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 know the concepts of file and directory
More informationAll the scoring jobs will be done by script
File I/O Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) All the scoring jobs
More informationCSCI 4500/8506 Operating Systems Some UNIX System Calls, Library, and PThreads Functions
CSCI 4500/8506 Operating Systems Some UNIX System Calls, Library, and PThreads Functions Described below is a subset of UNIX system calls, library functions, and Pthreads (that is, POSIX Threads) functions.
More informationHEC POSIX I/O API Extensions Rob Ross Mathematics and Computer Science Division Argonne National Laboratory
HEC POSIX I/O API Extensions Rob Ross Mathematics and Computer Science Division Argonne National Laboratory rross@mcs.anl.gov (Thanks to Gary Grider for providing much of the material for this talk!) POSIX
More informationSystem Calls and I/O Appendix. Copyright : University of Illinois CS 241 Staff 1
System Calls and I/O Appendix Copyright : University of Illinois CS 241 Staff 1 More System Calls Directory and File System Management s = mkdir(name, mode) Create a new directory s = rmdir(name) s = link(name,
More informationLecture 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 information4. Fajlovi i direktorijumi
4.2 stat, fstat i lstat funkcije 4. Fajlovi i direktorijumi int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); int lstat(const char *path, struct stat *buf); Ove 3 funkcije
More informationCptS 360 (System Programming) Unit 6: Files and Directories
CptS 360 (System Programming) Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2019 Motivation Need to know your way around a filesystem. A properly organized filesystem
More informationSystem-Level I/O. Topics Unix I/O Robust reading and writing Reading file metadata Sharing files I/O redirection Standard I/O
System-Level I/O Topics Unix I/O Robust reading and writing Reading file metadata Sharing files I/O redirection Standard I/O A Typical Hardware System CPU chip register file ALU system bus memory bus bus
More informationLast Week: ! Efficiency read/write. ! The File. ! File pointer. ! File control/access. This Week: ! How to program with directories
Overview Unix System Programming Directories and File System Last Week:! Efficiency read/write! The File! File pointer! File control/access This Week:! How to program with directories! Brief introduction
More informationOutline. File Systems. File System Structure. CSCI 4061 Introduction to Operating Systems
Outline CSCI 4061 Introduction to Operating Systems Instructor: Abhishek Chandra File Systems Directories File and directory operations Inodes and metadata Links 2 File Systems An organized collection
More informationFall 2017 :: CSE 306. File Systems Basics. Nima Honarmand
File Systems Basics Nima Honarmand File and inode File: user-level abstraction of storage (and other) devices Sequence of bytes inode: internal OS data structure representing a file inode stands for index
More informationFile Input and Output (I/O)
File Input and Output (I/O) Brad Karp UCL Computer Science CS 3007 15 th March 2018 (lecture notes derived from material from Phil Gibbons, Dave O Hallaron, and Randy Bryant) 1 Today UNIX I/O Metadata,
More information39. File and Directories
39. File and Directories Oerating System: Three Easy Pieces AOS@UC 1 Persistent Storage Kee a data intact even if there is a ower loss. w Hard disk drive w Solid-state storage device Two key abstractions
More informationOperating Systems. Processes
Operating Systems Processes 1 Process Concept Process a program in execution; process execution progress in sequential fashion Program vs. Process Program is passive entity stored on disk (executable file),
More informationParents and Children
1 Process Identifiers Every process apart from the PID also has a PUID and a PGID. There are two types of PUID and PGID: real and effective. The real PUID is always equal to the user running the process
More informationSveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević
Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje
More informationOverview. Unix System Programming. Outline. Directory Implementation. Directory Implementation. Directory Structure. Directories & Continuation
Overview Unix System Programming Directories & Continuation Maria Hybinette, UGA 1 Last Week: Efficiency read/write The File File pointer File control/access Permissions, Meta Data, Ownership, umask, holes
More informationvoid clearerr(file *stream); int feof(file *stream); int ferror(file *stream); int fileno(file *stream); #include <dirent.h>
opendir/readdir(3) opendir/readdir(3) fileno(3) fileno(3) opendir open a directory / readdir read a directory clearerr, feof, ferror, fileno check and reset stream status #include #include
More informationRicardo 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 informationCSE 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 informationMemento: Time Travel for the Web
Old Dominion University ODU Digital Commons Computer Science Presentations Computer Science 11-10-2010 Herbert Van de Sompel Michael L. Nelson Old Dominion University, mnelson@odu.edu Robert Sanderson
More informationFiles. 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 informationVRIJEDNOSTI ATRIBUTA
VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not
More informationPreview. 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 informationSystem-Level I/O Nov 14, 2002
15-213 The course that gives CMU its Zip! System-Level I/O Nov 14, 2002 Topics Unix I/O Robust reading and writing Reading file metadata Sharing files I/O redirection Standard I/O class24.ppt A Typical
More informationLinux Programming Chris Seddon
Linux Programming Chris Seddon seddon-software@keme.co.uk 2000-9 CRS Enterprises Ltd 1 2000-9 CRS Enterprises Ltd 2 Linux Programming 1. The Unix Model 2. File Input and Output 3. Files and Directories
More informationA Typical Hardware System The course that gives CMU its Zip! System-Level I/O Nov 14, 2002
class24.ppt 15-213 The course that gives CMU its Zip! System-Level I/O Nov 14, 2002 Topics Unix I/O Robust reading and writing Reading file metadata Sharing files I/O redirection Standard I/O A Typical
More informationSystem Calls and I/O. CS 241 January 27, Copyright : University of Illinois CS 241 Staff 1
System Calls and I/O CS 241 January 27, 2012 Copyright : University of Illinois CS 241 Staff 1 This lecture Goals Get you familiar with necessary basic system & I/O calls to do programming Things covered
More informationThe UNIX File System. File Systems and Directories UNIX inodes Accessing directories Understanding links in directories.
The UNIX File System File Systems and Directories UNIX s Accessing directories Understanding links in directories Reading: R&R, Ch 5 Directories Large amounts of data: Partition and structure for easier
More informationvoid *calloc(size_t nmemb, size_t size); void *malloc(size_t size); void free(void *ptr); void *realloc(void *ptr, size_t size);
exec(2) exec(2) malloc(3) malloc(3) exec, execl, execv,execle, execve, execlp, execvp execute a file #include int execl(const char * path,const char *arg0,...,const char *argn,char * /*NULL*/);
More informationIntroduction to Computer Systems , fall th Lecture, Oct. 19 th
Introduction to Computer Systems 15-213, fall 2009 15 th Lecture, Oct. 19 th Instructors: Majd Sakr and Khaled Harras Today System level I/O Unix I/O Standard I/O RIO (robust I/O) package Conclusions and
More informationUčitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.
Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new
More informationUnix File and I/O. Outline. Storing Information. File Systems. (USP Chapters 4 and 5) Instructor: Dr. Tongping Liu
Outline Unix File and I/O (USP Chapters 4 and 5) Instructor: Dr. Tongping Liu Basics of File Systems Directory and Unix File System: inode UNIX I/O System Calls: open, close, read, write, ioctl File Representations:
More informationThe bigger picture. File systems. User space operations. What s a file. A file system is the user space implementation of persistent storage.
The bigger picture File systems Johan Montelius KTH 2017 A file system is the user space implementation of persistent storage. a file is persistent i.e. it survives the termination of a process a file
More informationSystem-Level I/O March 31, 2005
15-213 The course that gives CMU its Zip! System-Level I/O March 31, 2005 Topics Unix I/O Robust reading and writing Reading file metadata Sharing files I/O redirection Standard I/O 21-io.ppt Unix I/O
More information