21/02/10

services windows

[10/8/2005] Service Windows

Mereka dijalankan tanpa permisi, mengurangi resources, dan bisa mengancam keamanan. Jadi, mengapa kita membutuhkan service Windows?

Apa yang paling pertama sekali dilakukan pada waktu PC baru datang? Sebagian besar orang akan mulai mengganti berbagai setting default Windows yang mengganggu. Sebagai contoh, Anda mungkin mengubah Explorer supaya dapat melihat file dan folder tersembunyi, atau Anda mungkin mengatur Taskbar dan Start Menu supaya mereka bekerja seperti yang Anda inginkan. Perubahan seperti itu boleh-boleh saja, tetapi mereka tidak menyentuh bagian Windows yang paling fundamental.

Setiap kali PC Anda dinyalakan, ia menjalankan beragam program yang dibuat untuk mendukung jaringan dan Internet, terlepas apakah Anda memerlukannya atau tidak. Beberapa bisa mengancam keamanan; semua mengambil sebagian dari RAM dan akan memperlama waktu boot. Namun kemungkinan Anda tidak akan menemukannya, karena  fungsi-fungsi tersebut terkontrol dari satu opsi jauh di Control Panel. Tentu saja, kita berbicara tentang service Windows, dan pada kesan pertama mereka tidak nampak seperti ide yang bagus. Jadi, mengapa program yang tersembunyi memerlukan mereka?

Kapan Service Dijalankan?
Service Windows merupakan program yang menyediakan fungsi kepada aplikasi dan operating system. Jadi, mereka mempunyai prioritas utama untuk dijalankan terlebih dulu sebelum yang lainnya. Kenyataannya, mereka bahkan dijalankan sebelum Anda masuk ke Windows. Mengapa itu perlu dilakukan? Bayangkan Anda menjalankan web server. Tanpa service, Anda harus menyalakan PC, masuk, dan menjalankan program server. Namun, jika Anda harus pergi, PC tersebut bisa diakses oleh siapa saja. Akan lebih aman Anda jika meninggalkan sistem pada layar logon dan menjalankan web server secara background.

Atau mungkin Anda baru saja menginstalasi program antivirus, misalnya. Kemudian program harus dijalankan sebelum program start-up yang lain, untuk memonitor apa yang mereka lakukan. Itulah sebabnya semua utiliti antivirus menginstalasi diri mereka sendiri sebagai service, bukan hanya menambahkan entri ke folder Startup Anda.

Tentu saja, tampak suatu kesalahan yang jelas di sini, dan itu adalah bagaimana menghentikan Trojan dan virus yang mencoba menginstalasi diri mereka sendiri sebagai service? Sayangnya jawabannya adalah: tidak begitu banyak. Sejumlah program mencurigakan berusaha untuk melakukan itu. Namun, Anda bisa saja menghentikan mereka, tetapi hanya jika Anda mengetahui bagaimana sebenarnya service Windows bekerja.

Service Control Manager
Service biasanya hanya program Windows yang melakukan beberapa tugas secara background, tetapi menjalankan mereka bisa jadi sangat sulit. Sebagai contoh, tidak ada titik permulaan service yang menggunakan jaringan, sampai Anda menjalankan yang lain
supaya jaringan dijalankan—ketergantungan dan urutan permulaan sangat penting.

Windows XP memberikan semua kompleksitas tugas pengaturan tersebut ke Windows Service Controller (\WINDOWS\System32\services.exe). Controller berjalan dengan melihat nilai registry pada HKEY_LOCAL_MACHINE\System\CurrentControl Set\Control\ServiceGroupOrder\List. Key tersebut menampilkan kelompok service berdasarkan urutan mereka dijalankan, jadi Primary Disk dijalankan sebelum Boot File System, Keyboard dijalankan sebelum Keyboard Class, dan seterusnya. Dengan menghubungkan diri mereka ke kelompok tertentu, service dapat mengontrol urutan mereka dijalankan.

Karena itu merupakan daftar entri, Anda dapat mengubah sendiri urutan boot service. Namun, jika Anda mencoba mengubah entri standar Windows PC Anda bisa saja crash lain waktu direstart, jadi harus sangat hati-hati. Jangan apa-apakan kelompok service kecuali jika Anda tahu betul apa yang Anda lakukan.

Selanjutnya, Controller membaca daftar service yang terinstalasi pada HEKY_LOCAL_MACHINE\System\CurrentControlSet\Services. Jalankan Regedit, dan lihat HKEY_LOCAL_MACHINE\System\CurrentControlSet\BITS untuk mengetahui apa yang dilihat oleh sistem.

Apakah BITS?
Entri DisplayName memberikan petunjuk: Background Intelligent Transfer Service. BITS adalah Transfer file in the background using idle network bandwidth dan kenyataannya ia merupakan service yang digunakan untuk mendownload Windows Update pada waktu Anda melakukan hal lain. Anda juga akan melihat entri untuk DependOnService, yang mengatakan bahwa BITS tidak bisa dijalankan sampai Rpcss berjalan. Controller menggunakan semua entri DepensOn untuk memastikan service yang terinstalasi dijalankan sesuai urutan.

ImagePath
Salah satu entri registry yang lebih penting adalah ImagePath, yang memberitahu Windows file executable yang menjalankan service tersebut. Pada BITS, itu adalah \WINDOWS\System32\Svchost.exe. Jika kemudian melihat daftar service pada registry dan melihat terus entri ImagePath, Anda akan melihat banyaknya Svchost.exe. Ini mungkin terlihat ganjil, jadi apa yang sedang terjadi?

Service Host
Svchost berfungsi sebagai generic host process untuk service yang terletak pada DLL lain. Service yang mana? Ini bisa ditemukan pada entri ImagePath, dengan command line parameter seperti LocalService. Pada waktu Svchost.exe menjumpai parameter seperti ini, ia mencari entri registry yang sesuai pada HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost. Sebagai contoh, dengan LocalService, ia menghasilkan daftar berikut: Alerter, WebClient, LmHosts, RemoteRegistry, upnphost, dan SSDPSRV.

Svchost berjalan dengan service yang pertama, dan mengecek parameternya (pada contoh ini HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service\Alerter\Parameter). Key ini berisi setting ServiceDLL (\WINDOW\system32\alrsvc.dll), yang dijalankan dan digunakan untuk menjalankan service tersebut. Ia mengulangi proses tersebut untuk semua service. Apakah service dijalankan dari ImagePAth-nya sendiri, atau melalui DLL yang dijalankan oleh Svchost, Controller kemudian harus menunggu sampai ia menerima sinyal bahwa service telah dijalankan dengan baik. Jika tidak ada sinyal yang diterima, Controller akan melanjutkan, tetapi hanya setelah waktu timeout yang lama. Ini bisa menjadi alasan mengapa PC Anda permulaannya lambat.

Dampak Service Terhadap Booting
Setelah service dijalankan, ia harus mengirim pesan “Saya baik-baik saja sekarang” kepada Service Controller. Karena service lain bergantung kepada pesan tersebut, Windows harus menunggu sampai mendapatkan kabar baik. Meskipun demikian, Windows akan akan berhenti menunggu setelah kira-kira 30 detik.

Hal ini bisa memperlama waktu boot Windows, jadi mengurangi waktu tunggu tersebut adalah ide yang bagus. Jalankan Regedit, buka HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control, dan buat DWORD Value bernama ServicesPipe Timeout. Tentukan berapa lama Windows menunggu (dalam satuan milidetik).

Namun, apakah itu bijaksana? Pengurangan waktu tunggu berarti lebih banyak service yang tidak bisa dijalankan pada waktunya, memaksa Windows menjalankan mereka kembali, atau mungkin gagalnya service yang lain. Meskipun demikian, meningkatkan waktu tunggu berguna jika ada service yang jalannya lambat.

Account yang Mana?
Setiap program yang Anda luncurkan harus berjalan di bawah user account tertentu, yang menggambarkan apa yang dapat dilakukannya pada system Anda. Itulah mengapa kebanyakan aplikasi mengatakan bahwa mereka harus diinstalasi oleh account dengan hak Administrator, supaya mereka dapat mengubah registry.

Mengontrol Service
Service Controller akhirnya menyelesaikan tugasnya, dan menjalankan semua service Anda. Anda login dan menggunakan komputer seperti biasa. Namun, itu belum berakhir. Aplikasi lain bisa saja menjalankan dan menghentikan, atau me-restart service jika dibutuhkan. Salah satu dari service tersebut mungkin bergantung kepada yang lain, tetapi jika dimungkinkan Windows akan menjalankan service tambahan yang dibutuhkan.

Semuanya berjalan secara otomatis, tetapi Anda bisa mengambil alih. Pilih Control Panel, Administrative Tools, Computer Management, Services and Applications, Services, untuk menjalankan Services Control Applet atau Anda bisa klik Start, Run, dan ketik services.msc. Secara garis besar, applet ini menampilkan daftar semua service yang telah diinstalasi. Anda bisa melihat mana yang sedang berjalan saat itu; mereka ditandai dengan Started, dan account yang digunakan.

Untuk mematikan service, klik ganda service dan kemudian klik Stop. Menghentikan service yang tidak dipakai bisa meningkatkan kecepatan sistem Anda, tetapi jangan sembarangan. Beberapa service sangat penting bagi Windows, dan mematikan mereka bisa mematikan PC Anda (bahkan tidak akan akan mau reboot).

MENCARI SERVICE YANG BERMASALAH
Event Viewer sering menyimpan petunjuk yang berguna. Pesan yang paling sering yang mungkin Anda lihat kurang berguna adalah pesan Information, dengan kata-kata seperti “Service sent a start message” dan “Service running”. Namun, masing-masing pesan mempunyai stempel waktu, sehingga Anda bisa melihat menggapa booting menjadi lambat. Lihatlah service yang menunggu lama sebelum dijalankan.

Event yang lain ditandai dengan pesan Error. Di situ Anda akan melihat service yang tidak bisa dijalankan sama sekali. Mungkin, mereka adalah peninggalan dari program yang Anda instalasi dulu. Hal ini ini bisa memperlama waktu boot Anda, jadi akan lebih baik jika kita melakukan sesuatu terhadap mereka. Jika Anda mengetahui aplikasi yang bertanggung jawab atas service tersebut, coba instalasi aplikasi dan kemudian uninstall kembali. Berikutnya, ikuti urutan boot service dan hilangkan acuan ke service tersebut pada registry. Namun, hatihati; jika melakukan kesalahan PC Anda mungkin nanti tidak mau booting.

SERVICE RAHASIA
Mengetahui service pada PC Anda tidak selalu mudah. Seperti yang kita lihat di mana-mana, Windows seringkali menggabungkan service pada proses host bernama Svchost.exe. Ini lebih efisien dibanding mempunyai proses terpisah untuk masing-masing
service, tetapi juga menyebabkan beberapa masalah. Sebagai contoh, jika satu service mempunyai bug dan menghentikan proses, semua service yang lain juga akan hilang dan system Anda bisa crash.

Masalah lain adalah mencari service mana yang sedang dijalankan oleh masing-masing Svchost.exe. Ini sangat berguna jika salah satu tergantung atau menggunakan waktu CPU yang terlalu banyak. Periksa tab Process dari Task Manager, dan Anda akan melihat beberapa proses Svchost.exe, tetapi tidak ada informasi lebih yang tersedia. Anehnya, informasi paling lengkap di dalam Windows datang dari utiliti command-line. Buka jendela DOS, kemudian masukkan TLIST –S (Windows 2000) atau TASKLIST /SVC (Windows XP Professional) untuk melihat service yang terdapat pada masing-masing proses. Bahkan ini membutuhkan langkah lain. Ia akan memberitahu Anda bahwa Svchost.exe dengan ID proses 1028 (misalnya) menjalankan Dnscache, tetapi yang mana itu pada Task Manager? Untuk mengetahuinya klik tab Process, klik View, klik Select Column, dan kemudian periksa PID. Alternatif lain, download Process Explorer (http://www.sysinternals.com). Klik ganda semua proses yang berisi service (disorot dalam warna pink), dan klik tab Service untuk melihat isi mereka.

LEBIH LANJUT
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/msinfo_services.mspx
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sys_srv_overview_01.mspx
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/services.mspx

0 komentar:

Posting Komentar

    daai tv mnctvtv edukasijak tvochaneltvritrans7transtvglobaltvantvrctitvonemetrotvindosiarsctv