Sistem Berkas /proc

By deptz, Tue. March 18, 2008
Categories: computer related
Tags: ,
417 views

Sistem Berkas /proc/ (Virtual File Systems)

Linux Process File System atau Sistem berkas /proc adalah suatu sistem berkas semu yang digunakan untuk mengakses informasi mengenai proses dari kernel. Sistem berkas ini biasanya di-mount di bawah root dengan alamat /proc. Sistem berkas /proc tidak berisi berkas sebenarnya, tetapi berisi informasi tentang sistem, seperti sistem memori, konfigurasi perangkat keras, dan sebagainya. Untuk alasan inilah sistem berkas /proc dapat dianggap sebagai suatu kontrol dan pusat informasi untuk kernel. Pada kenyataannya, banyak perintah dalam sistem Linux yang mengambil informasi yang terdapat pada berkas dalam /proc, contohnya perintah lsmod (listmodules) sama dengan perintah cat /proc/modules dan lspci (list PCI bus) sama dengan perintah cat /proc/pci. Karena sistem berkas /proc adalah VFS dan tidak berada dalam disk, tetapi dalam memori, maka setiap kali komputer dinyalakan sistem berkas /proc yang baru akan dibuat.


Jika diambil sebagian list directory dari root, maka akan muncul tampilan sebagai berikut.
drwxr-xr-x 14 root root 291 Oct 25 18:47 opt
dr-xr-xr-x 86 root root 0 May 09 2007 proc
drwx–x–x 16 root root 841 Nov 20 00:10 root
drwxr-xr-x 5 root root 4627 Oct 15 11:42 sbin
Dapat dilihat bahwa ukuran dari directory /proc adalah nol dan tanggal terakhir modifikasinya adalah tanggal kapan komputer dinyalakan. Hal ini menunjukkan bahwa sistem berkas /proc tidak berada pada disk tetapi terdapat pada memori utama komputer. Selain itu waktu modifikasi yang selalu berubah menunjukkan bahwa isi /proc selalu diperbarui oleh sistem.

Isi dari directory /proc
Jika diambil sebagian daftar berkas dan subdirectory yang terdapat dalam /proc, maka dapat dikelompokan menjadi dua bagian, yaitu:
1. Directory yang namanya adalah bilangan . Setiap directory yang namanya adalah bilangan,
sebenarnya adalah proses yang sedang berjalan di sistem, angka tersebut menunjukkan proses ID
(PID). Jika dicocokan dengan tabel proses maka akan ditemukan PID yang sesuai dengan semua
nomor yang terdapat pada nama directory tersebut.
2. Berkas yang namanya adalah string .
Beberapa contoh directory yang namanya adalah bilangan/nomor : 1, 2, 3, 100, 109, 200, 462, 480,
495, 560, 570, 670, 687, 698, 777, 1002, 1200, 1302, 1666, 2000, 3005, 3444, 3455, 3566, 3766,
3877, dan sebagainya.

Berikut beberapa contoh isi dari direktori /proc yang telah kami coba. Dijalankan diatas sistem operasi OpenSuse 10.3.

1. /proc/cpuinfo
Akan menampilkan detail dari processor dimana OS tersebut berjalan.

[email protected]:~> cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 14
model name      : Genuine Intel(R) CPU           T2300  @ 1.66GHz
stepping        : 8
cpu MHz         : 1000.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc pni monitor est tm2 xtpr
bogomips        : 3329.62
clflush size    : 64

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 14
model name      : Genuine Intel(R) CPU           T2300  @ 1.66GHz
stepping        : 8
cpu MHz         : 1000.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc pni monitor est tm2 xtpr
bogomips        : 3325.35
clflush size    : 64

2. /proc/meminfo
Akan menampilkan informasi mengenai penggunaan memori.
[email protected]:~> cat /proc/meminfo
MemTotal:      1546568 kB
MemFree:        990704 kB
Buffers:         28072 kB
Cached:         225132 kB
SwapCached:          0 kB
Active:         235904 kB
Inactive:       180600 kB
HighTotal:      645696 kB
HighFree:       249344 kB
LowTotal:       900872 kB
LowFree:        741360 kB
SwapTotal:     1228936 kB
SwapFree:      1228936 kB
Dirty:             232 kB
Writeback:           0 kB
AnonPages:      163408 kB
Mapped:          55892 kB
Slab:            17180 kB
SReclaimable:     8620 kB
SUnreclaim:       8560 kB
PageTables:       2352 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   2002220 kB
Committed_AS:   443940 kB
VmallocTotal:   114680 kB
VmallocUsed:     10096 kB
VmallocChunk:   103656 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     4096 kB

3. /proc/version
Akan menampilkan informasi mengenai versi kernel OS yang sedang digunakan.

[email protected]:~> cat /proc/version
Linux version 2.6.22.5-31-default ([email protected]) (gcc version 4.2.1 (SUSE Linux)) #1 SMP 2007/09/21 22:29:00 UTC

4. /proc/sys/fs/file-max
Akan menampilkan jumlah total file yang dapat dijalankan secara bersamaan dalam satu OS.

[email protected]:~> cat /proc/sys/fs/file-max
153070

5. /proc/devices
Akan menampilkan daftar konfigurasi driver perangkat yang sedang berjalan di kernel.

[email protected]:~> cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
116 alsa
128 ptm
136 pts
171 ieee1394
180 usb
189 usb_device
226 drm
252 pcmcia
253 rtc
254 usb_endpoint

Block devices:
7 loop
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp

6. /proc/filesystems
Akan menampilkan konfigurasi file system dalam kernel.

[email protected]:~> cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   cpuset
nodev   debugfs
nodev   securityfs
nodev   sockfs
nodev   pipefs
nodev   anon_inodefs
nodev   futexfs
nodev   tmpfs
nodev   inotifyfs
nodev   devpts
nodev   ramfs
nodev   hugetlbfs
minix
iso9660
nodev   mqueue
ext3
nodev   usbfs
vfat
nodev   fuse
fuseblk
nodev   fusectl

7. /proc/interrupts
Akan menampilkan interrupt yang sedang digunakan dan berapa kali interupt tersebut digunakan.

[email protected]:~> cat /proc/interrupts
CPU0       CPU1
0:      67999          0   IO-APIC-edge      timer
1:        627          0   IO-APIC-edge      i8042
8:         35          0   IO-APIC-edge      rtc
9:       3002          0   IO-APIC-fasteoi   acpi
12:        133        545   IO-APIC-edge      i8042
14:       5302      23206   IO-APIC-edge      libata
15:          0          0   IO-APIC-edge      libata
16:      19181          0   IO-APIC-fasteoi   ipw3945, ohci1394
17:        389      30474   IO-APIC-fasteoi   uhci_hcd:usb5, [email protected]:0000:00:02.0
18:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
19:        279        430   IO-APIC-fasteoi   yenta, HDA Intel
20:         44      11307   IO-APIC-fasteoi   uhci_hcd:usb3
21:          2          0   IO-APIC-fasteoi   uhci_hcd:usb1, ehci_hcd:usb2, eth0
22:          0          0   IO-APIC-fasteoi   sdhci:slot0
NMI:          0          0
LOC:       7323      45979
ERR:          0
MIS:          0

8. /proc/swaps
Akan menampilkan informasi mengenai drive swap memori.

[email protected]:~> cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/sda7                               partition       1228936 0       -1

9. /proc/modules
Akan menunjukkan modul-modul yang dimasukkan ke dalam kernel.

[email protected]:~> cat /proc/modules
af_packet 29064 0 – Live 0xf8c82000
ipv6 268152 16 – Live 0xf9281000
i915 26624 2 – Live 0xf8c8b000
drm 79636 3 i915, Live 0xf8c9b000
snd_pcm_oss 50432 0 – Live 0xf8c6b000
snd_mixer_oss 20096 1 snd_pcm_oss, Live 0xf8c41000
snd_seq 54452 0 – Live 0xf8c4c000
snd_seq_device 12172 1 snd_seq, Live 0xf8c36000
cpufreq_conservative 11272 0 – Live 0xf8edb000
cpufreq_userspace 8704 0 – Live 0xf9019000
cpufreq_powersave 5888 0 – Live 0xf9016000
acpi_cpufreq 13192 0 – Live 0xf9183000
speedstep_lib 9220 0 – Live 0xf900b000
microcode 15372 0 – Live 0xf9011000
apparmor 40736 0 – Live 0xf9178000
fuse 45460 4 – Live 0xf916b000
nls_iso8859_1 8192 2 – Live 0xf9008000
nls_cp437 9856 2 – Live 0xf8fef000
vfat 16128 2 – Live 0xf8ff5000
fat 52380 1 vfat, Live 0xf915d000
loop 21636 0 – Live 0xf8fd5000
dm_mod 56880 0 – Live 0xf914e000
pcmcia 41076 0 – Live 0xf8ffc000
8139too 29184 0 – Live 0xf8fe6000
yenta_socket 28684 1 – Live 0xf8fbf000
ohci1394 36272 0 – Live 0xf8fdc000
8139cp 26112 0 – Live 0xf8fc8000
ieee1394 91136 1 ohci1394, Live 0xf8f8f000
mii 9344 2 8139too,8139cp, Live 0xf8ef8000
snd_hda_intel 272796 1 – Live 0xf9072000
snd_pcm 82564 2 snd_pcm_oss,snd_hda_intel, Live 0xf8fa9000
battery 14724 0 – Live 0xf8f8a000
ac 9604 0 – Live 0xf8edf000
sdhci 20364 0 – Live 0xf8eee000
mmc_core 29828 1 sdhci, Live 0xf8f81000
ipw3945 196132 1 – Live 0xf9041000
ieee80211 35400 1 ipw3945, Live 0xf8e6d000
rsrc_nonstatic 15872 1 yenta_socket, Live 0xf8ed6000
pcmcia_core 40852 3 pcmcia,yenta_socket,rsrc_nonstatic, Live 0xf8ee3000
i2c_i801 12560 0 – Live 0xf8ed1000
i2c_core 27520 1 i2c_i801, Live 0xf8e77000
snd_timer 26756 2 snd_seq,snd_pcm, Live 0xf8e39000
snd 58164 9 snd_pcm_oss,snd_mixer_oss,snd_seq,snd_seq_device,snd_hda_intel,snd_pcm,snd_timer, Live 0xf8ec1000
ieee80211_crypt 9728 1 ieee80211, Live 0xf8e48000
button 12432 0 – Live 0xf8e68000
soundcore 11460 1 snd, Live 0xf8e64000
firmware_class 13568 3 microcode,pcmcia,ipw3945, Live 0xf8e5f000
sr_mod 19492 0 – Live 0xf8e4c000
cdrom 37020 1 sr_mod, Live 0xf8e54000
snd_page_alloc 13960 2 snd_hda_intel,snd_pcm, Live 0xf8e2c000
rtc_cmos 12064 0 – Live 0xf8dfa000
rtc_core 23048 1 rtc_cmos, Live 0xf8e41000
intel_agp 27156 1 – Live 0xf8e31000
iTCO_wdt 14372 0 – Live 0xf8dfe000
serio_raw 10756 0 – Live 0xf8db2000
rtc_lib 7040 1 rtc_core, Live 0xf8dba000
iTCO_vendor_support 7812 1 iTCO_wdt, Live 0xf8844000
sg 37036 0 – Live 0xf8e1c000
agpgart 35764 3 drm,intel_agp, Live 0xf8e12000
joydev 13632 0 – Live 0xf8dbf000
usbhid 41300 0 – Live 0xf8e06000
hid 29184 1 usbhid, Live 0xf8def000
ff_memless 9352 1 usbhid, Live 0xf8db6000
ehci_hcd 34956 0 – Live 0xf8de5000
sd_mod 31104 7 – Live 0xf8d9f000
uhci_hcd 27024 0 – Live 0xf8da8000
usbcore 123372 4 usbhid,ehci_hcd,uhci_hcd, Live 0xf8dc5000
edd 12996 0 – Live 0xf887b000
ext3 131848 1 – Live 0xf8d23000
mbcache 12292 1 ext3, Live 0xf8d1e000
jbd 68148 1 ext3, Live 0xf8d8d000
fan 9220 0 – Live 0xf8d1a000
ata_piix 21380 6 – Live 0xf886e000
libata 136776 1 ata_piix, Live 0xf8d6a000
scsi_mod 140376 4 sr_mod,sg,sd_mod,libata, Live 0xf8d46000
thermal 19848 0 – Live 0xf8875000
processor 40744 2 acpi_cpufreq,thermal, Live 0xf8839000

10. /proc/mounts
Akan menampilkan sistem berkas yang telah di- mount.
[email protected]:~> cat /proc/partitions
major minor  #blocks  name

8     0   78150744 sda
8     1    4096543 sda1
8     2   20193705 sda2
8     3   11076817 sda3
8     4          1 sda4
8     5   22466871 sda5
8     6   11920198 sda6
8     7    1228941 sda7
8     8    7164958 sda8

[email protected]:~> cat /proc/mounts
rootfs / rootfs rw 0 0
udev /dev tmpfs rw 0 0
/dev/sda8 / ext3 rw,data=ordered 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
debugfs /sys/kernel/debug debugfs rw 0 0
devpts /dev/pts devpts rw 0 0
/dev/sda2 /windows/C vfat rw,nosuid,nodev,noexec,gid=100,fmask=0002,dmask=0002,codepage=cp437,iocharset=iso8859-1,utf8 0 0
/dev/sda3 /windows/D vfat rw,nosuid,nodev,noexec,gid=100,fmask=0002,dmask=0002,codepage=cp437,iocharset=iso8859-1,utf8 0 0
/dev/sda5 /windows/E fuseblk rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,default_permissions,allow_other 0 0
/dev/sda6 /windows/F fuseblk rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,default_permissions,allow_other 0 0
securityfs /sys/kernel/security securityfs rw 0 0

11. /proc/partitions
Akan menampilkan daftar partisi yang dikenali pada suatu sistem.

[email protected]:~> cat /proc/partitions
major minor  #blocks  name

8     0   78150744 sda
8     1    4096543 sda1
8     2   20193705 sda2
8     3   11076817 sda3
8     4          1 sda4
8     5   22466871 sda5
8     6   11920198 sda6
8     7    1228941 sda7
8     8    7164958 sda8


Comments