diff --git a/Makefile b/Makefile
index 9d1e1d6feb08a957ace2e0dabbeb6a5cf02619cf..ae45363b8719f6bb17d95b90f6a2dfc453be5488 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 OBJS = \
 	console.o\
-	fd.o\
+	file.o\
 	ide.o\
 	kalloc.o\
 	lapic.o\
@@ -66,7 +66,7 @@ PRINT =	\
 	bootasm.S bootother.S main.c init.c spinlock.c\
 	proc.h proc.c setjmp.S kalloc.c\
 	syscall.h trapasm.S traps.h trap.c vectors.pl syscall.c\
-	buf.h dev.h fcntl.h stat.h fd.h fs.h fsvar.h fd.c fs.c bio.c ide.c\
+	buf.h dev.h fcntl.h stat.h file.h fs.h fsvar.h fd.c fs.c bio.c ide.c\
 	pipe.c\
 	mp.h ioapic.h mp.c lapic.c ioapic.c picirq.c\
 	console.c\
diff --git a/fd.c b/file.c
similarity index 99%
rename from fd.c
rename to file.c
index 9ec3038bd620d3acf3eeaa972c81ec1cd9d1d971..fd043835ffd7f07ad8c68d581f8e86396b9681a4 100644
--- a/fd.c
+++ b/file.c
@@ -5,7 +5,7 @@
 #include "mmu.h"
 #include "proc.h"
 #include "defs.h"
-#include "fd.h"
+#include "file.h"
 #include "spinlock.h"
 #include "dev.h"
 #include "fs.h"
diff --git a/fd.h b/file.h
similarity index 100%
rename from fd.h
rename to file.h
diff --git a/pipe.c b/pipe.c
index 2864432536bf07d78f4472087cfaf33b1958e42c..3b2f6b8bb164f5af4f090b4eafa6c8ca56a2fc49 100644
--- a/pipe.c
+++ b/pipe.c
@@ -4,7 +4,7 @@
 #include "mmu.h"
 #include "proc.h"
 #include "defs.h"
-#include "fd.h"
+#include "file.h"
 #include "spinlock.h"
 
 #define PIPESIZE 512
diff --git a/proc.c b/proc.c
index 066ac770d7930827286bc08f7510dc430eadc01c..34b353ba396f40cde5b190bef0bfa8cf1014a4d9 100644
--- a/proc.c
+++ b/proc.c
@@ -2,7 +2,7 @@
 #include "mmu.h"
 #include "x86.h"
 #include "param.h"
-#include "fd.h"
+#include "file.h"
 #include "proc.h"
 #include "defs.h"
 #include "spinlock.h"
diff --git a/syscall.c b/syscall.c
index f75714afd5a418d78f6ff67c1f5e681fb36db8c7..4cff057b74c0be0d150c351cdb2b13739a4a344c 100644
--- a/syscall.c
+++ b/syscall.c
@@ -12,7 +12,7 @@
 #include "fs.h"
 #include "fsvar.h"
 #include "elf.h"
-#include "fd.h"
+#include "file.h"
 #include "fcntl.h"
 
 // User code makes a system call with INT T_SYSCALL.
diff --git a/sysfile.c b/sysfile.c
index d123a96dc5f04b69a83852187f8bf38a1aebb15b..d0c7afaf52688a6527a49bb5bfadd903e19d5625 100644
--- a/sysfile.c
+++ b/sysfile.c
@@ -12,7 +12,7 @@
 #include "fs.h"
 #include "fsvar.h"
 #include "elf.h"
-#include "fd.h"
+#include "file.h"
 #include "fcntl.h"
 
 int
diff --git a/sysproc.c b/sysproc.c
index f648c0eaaa966ceab7cc620cf9c5937a88b78b2d..43ee973f416374d6451766ba4e1ca53b1f2a2ac9 100644
--- a/sysproc.c
+++ b/sysproc.c
@@ -12,7 +12,7 @@
 #include "fs.h"
 #include "fsvar.h"
 #include "elf.h"
-#include "fd.h"
+#include "file.h"
 #include "fcntl.h"
 
 int