Kode kesalahan halaman Windows 7. Kode kesalahan Pengelola Perangkat

Kode kesalahan halaman Windows 7. Kode kesalahan Pengelola Perangkat
Kode kesalahan halaman Windows 7. Kode kesalahan Pengelola Perangkat

Algoritma preemptive/non-preemptive.

Dalam kasus algoritma preemptive sistem operasi kapan saja dapat mengganggu eksekusi thread saat ini dan mengalihkan prosesor ke thread lain. Dalam algoritma non-preemptive, thread yang diberikan kepada prosesor hanya memutuskan kapan akan mentransfer kendali ke sistem operasi.

Algoritma dengan kuantisasi.

Setiap thread diberikan potongan waktu di mana thread dapat dieksekusi pada prosesor. Ketika kuantum berakhir, sistem operasi mengalihkan prosesor ke thread berikutnya dalam antrian. Kuantum biasanya sama dengan bilangan bulat interval pengatur waktu sistem 1.

Algoritma dengan prioritas.

Setiap thread diberi prioritas - bilangan bulat yang menunjukkan tingkat hak istimewa thread. Sistem operasi, jika ada beberapa thread yang siap dijalankan, akan memilih thread dengan prioritas tertinggi.

Windows mengimplementasikan algoritma penjadwalan campuran - preemptive, berdasarkan kuantisasi dan prioritas.

  1. Tipe multitasking untuk aplikasi DOS
  2. Jaminan layanan
  3. Menjadwalkan proses latar depan
  4. Tujuan dari file paging
  5. Proses P1, P2, P3 mengalokasikan memori 100, 20, 80 MB. Sistem ini memiliki RAM 128MB. Berapa ukurannya memori yang digunakan dalam file pertukaran. Berapa ukuran file swap.
  1. Apa itu "kesalahan halaman"?

Interupsi 14 -Kesalahan halaman (#PF): Intel386…

Dihasilkan jika mesin halaman diaktifkan (CR0.PG = 1) dan salah satu situasi berikut terjadi saat menerjemahkan alamat linier ke alamat fisik:

  • elemen tabel halaman atau direktori halaman yang digunakan dalam terjemahan alamat, memiliki sedikit kehadiran, yaitu tabel halaman yang diperlukan atau halaman tidak ada memori fisik;
  • prosedurnya tidak punya tingkat keistimewaan, cukup untuk mengakses halaman yang dipilih, atau mencoba menulis ke halaman yang dilindungi penulisan untuk tingkat hak istimewa saat ini.

Penangan kesalahan halaman memperoleh informasi tentang penyebabnya dari dua sumber: kode kesalahan, yang dimasukkan ke dalam tumpukan, dan isi register CR2, yang berisi alamat linier yang menyebabkan kesalahan. Kode kesalahan halaman memiliki format khusus (Gbr. 3.7.).

Program yang terhenti, setelah menghilangkan penyebab yang menyebabkan kesalahan halaman (misalnya, memuat halaman ke memori fisik), dapat dilanjutkan tanpa penyesuaian tambahan apa pun.

Jika kesalahan halaman disebabkan karena pelanggaran hak keamanan halaman, bit akses (A) dalam entri direktori halaman terkait akan diatur. Perilaku bit akses pada elemen tabel halaman yang sesuai untuk kasus ini tidak diatur dalam Prosesor Intel dan mungkin berbeda dalam model yang berbeda.

  1. Tingkat kesalahan halaman yang tinggi menunjukkan:

Ketidakamanan program

tidak dapat diandalkannya RAM

Lainnya: jelaskan

Kolom “Kesalahan halaman hilang dari memori/detik.”

Di kolom “Kesalahan halaman kehabisan memori/detik.” (Kesalahan Keras/dtk) menunjukkan jumlah rata-rata kesalahan halaman kehabisan memori per detik selama menit terakhir. Jika suatu proses mencoba menggunakan lebih banyak memori fisik daripada yang tersedia saat ini waktu, sistem menulis sebagian data dari memori ke disk - ke file paging. Akses selanjutnya ke data yang disimpan ke disk disebut kesalahan halaman kehabisan memori.

Apa yang dimaksud dengan kesalahan halaman kehabisan memori?

Sekarang setelah Anda memiliki gambaran tentang informasi apa yang dikumpulkan dalam tabel Proses, mari kita lihat bagaimana Anda dapat menggunakannya untuk memantau alokasi memori. Saat menjalankan aplikasi dan bekerja dengan file, manajer memori memantau ukuran set kerja setiap proses dan mencatat permintaan sumber daya memori tambahan. Ketika rangkaian kerja suatu proses meningkat, petugas operator mencocokkan permintaan ini dengan kebutuhan kernel dan proses lainnya. Jika ruang alamat yang tersedia tidak mencukupi, petugas operator mengurangi ukuran set kerja dengan menyimpan data dari memori ke disk.

Kemudian, saat membaca data ini dari disk, terjadi kesalahan halaman kehabisan memori. Ini cukup normal, tetapi jika kesalahan terjadi secara bersamaan untuk proses yang berbeda, sistem memerlukan waktu tambahan untuk membaca data dari disk. Terlalu banyak kesalahan umum tidak adanya halaman di memori, masing-masing, mengurangi kinerja sistem. Anda mungkin pernah mengalami pelambatan yang tidak terduga pada semua aplikasi, yang kemudian juga tiba-tiba berhenti. Perlambatan ini hampir pasti disebabkan oleh redistribusi data aktif antara memori fisik dan swap.

Kesimpulannya sebagai berikut: jika kesalahan halaman kehabisan memori untuk proses tertentu terjadi terlalu sering dan teratur, Komputer tidak memiliki memori fisik yang cukup.

Untuk memudahkan memantau proses yang sering menyebabkan kesalahan halaman kehabisan memori, Anda dapat menandainya dengan tanda. Dalam hal ini, proses yang dipilih akan berpindah ke bagian atas daftar, dan dalam grafik kesalahan halaman yang hilang, proses tersebut akan diwakili oleh kurva oranye.

Perlu dipertimbangkan bahwa alokasi memori bergantung pada sejumlah faktor lain, dan pemantauan kesalahan halaman kehabisan memori bukanlah yang terbaik dan juga bukan pilihan terbaik. satu-satunya cara mengidentifikasi masalah. Namun, ini bisa menjadi titik awal yang baik untuk observasi.

  1. Bagaimana prioritas thread ditentukan di Windows?

Prioritas

OS Windows mengimplementasikan penjadwalan prioritas preemptive, ketika setiap thread diberi nilai numerik tertentu - prioritas, sesuai dengan alokasi prosesor padanya. Thread dengan prioritas yang sama dijadwalkan berdasarkan algoritma Round Robin. Keuntungan penting dari sistem ini adalah kemampuan untuk mendahului thread yang berjalan dalam mode kernel - kode sistem eksekutif sepenuhnya masuk kembali. Hanya thread yang memegang spinlock yang tidak didahului (lihat "Sinkronisasi Thread"). Oleh karena itu, spinlock digunakan dengan sangat hati-hati dan disetel untuk jangka waktu minimum.

Sistem menyediakan 32 tingkat prioritas. Enam belas nilai prioritas (16-31) sesuai dengan grup prioritas waktu nyata, lima belas nilai (1-15) untuk thread normal, dan nilai 0 dicadangkan untuk thread zeroing halaman sistem (lihat Gambar 6.2 ).

Beras. 6.2. Prioritas Thread

Untuk menghilangkan kebutuhan pengguna untuk mengingat nilai numerik prioritas dan dapat memodifikasi penjadwal, pengembang memperkenalkan ke dalam sistem lapisan abstraksi prioritas. Misalnya, kelas prioritas untuk semua thread dari proses tertentu dapat diatur menggunakan sekumpulan parameter konstan dari fungsi SetPriorityClass, yang dapat memiliki nilai berikut:

  • waktu nyata (REALTIME_PRIORITY_CLASS) - 24
  • tinggi (HIGH_PRIORITY_CLASS) - 13
  • di atas normal (ABOVE_NORMAL_PRIORITY_CLASS) 10
  • biasa (NORMAL_PRIORITY_CLASS) - 8
  • di bawah normal (BELOW_NORMAL_PRIORITY_CLASS) - 6
  • dan menganggur (IDLE_PRIORITY_CLASS) 4

Prioritas relatif suatu thread ditentukan oleh parameter serupa dari fungsi SetThreadPriority:

Satu set enam kelas prioritas proses dan tujuh kelas prioritas thread membentuk 42 kemungkinan kombinasi dan memungkinkan kita membentuk apa yang disebut prioritas thread dasar

Prioritas dasar default suatu proses dan thread utama adalah nilai di tengah rentang prioritas proses ( 24, 13, 10, 8, 6 atau 4). Mengubah prioritas suatu proses berarti mengubah prioritas semua rangkaian proses, sementara prioritas relatifnya tetap tidak berubah.

Prioritas 16 hingga 31 sebenarnya bukanlah prioritas real-time karena dukungan soft real-time Windows tidak memberikan jaminan mengenai pengaturan waktu thread. Ini hanyalah prioritas yang lebih tinggi yang dicadangkan untuk thread sistem dan thread yang diberikan prioritas tersebut oleh pengguna dengan hak administratif. Namun, adanya prioritas waktu nyata, serta preemptibility kode kernel, lokalisasi halaman memori (lihat "Pengoperasian manajer memori") dan sejumlah fitur tambahan- semua ini memungkinkan Anda untuk menjalankannya di lingkungan OS Aplikasi Windows soft real time, misalnya multimedia. Thread sistem dengan prioritas nol sedang sibuk membersihkan halaman memori. Thread pengguna reguler dapat memiliki prioritas dari 1 hingga 15.


Informasi terkait.


Dalam artikel terakhir saya "" Saya berbicara tentang kemampuan Windows 7 Resource Monitor (Resource Monitor), menjelaskan cara menggunakannya untuk memantau distribusi sumber daya sistem antara proses dan layanan, dan juga menyebutkan bahwa itu dapat digunakan untuk menyelesaikan masalah tertentu. masalah - misalnya, untuk menganalisis konsumsi memori. Inilah yang akan dibahas dalam artikel ini.

Sedikit tentang memori

Sebelum memulai analisis, saya akan membahas secara singkat tentang bagaimana memori dikendalikan. Ini akan memudahkan Anda memahami informasi apa saja yang disajikan di Windows 7 Resource Monitor.

Manajer Memori Windows 7 dibuat sistem maya memori, yang terdiri dari RAM fisik yang tersedia dan file paging pada hard drive. Hal ini memungkinkan sistem operasi untuk mengalokasikan blok memori (halaman) dengan panjang tetap dengan alamat berurutan di fisik dan memori maya.

Meluncurkan Monitor Sumber Daya Windows 7

Untuk meluncurkan Windows 7 Resource Monitor, buka menu Start, ketik "Resmon.exe" di bilah pencarian dan klik . Di jendela yang terbuka, pilih tab “Memori” (Gbr. A).

Gambar A: Tab Memori di Windows 7 Resource Monitor menyediakan informasi alokasi memori terperinci.

Tabel proses

Tab Memori memiliki tabel Proses (Gambar B) yang mencantumkan semua proses yang berjalan dan membagi penggunaan memori ke dalam beberapa kategori.


Gambar B: Informasi penggunaan memori untuk setiap proses dipecah menjadi beberapa kategori.

Kolom "Gambar"

Kolom "Gambar" menunjukkan nama file proses yang dapat dieksekusi. Proses, diluncurkan oleh aplikasi, sangat mudah untuk mengetahuinya - misalnya, proses "notepad.exe" jelas milik Notepad. Proses bernama "svchost.exe" mewakili berbagai layanan sistem operasi. Nama layanan muncul dalam tanda kurung di sebelah nama proses.

Kolom ID Proses

Kolom ID Proses (PID) menunjukkan nomor proses - kombinasi angka unik yang memungkinkan Anda mengidentifikasi proses yang sedang berjalan.

Kolom "Selesai".

Kolom Komit menunjukkan jumlah memori virtual, dalam kilobyte, yang telah dicadangkan sistem untuk proses ini. Ini termasuk memori fisik yang digunakan dan halaman yang disimpan dalam file paging.

Kolom "Set Kerja"

Kolom Working Set menunjukkan jumlah memori fisik dalam kilobyte yang digunakan oleh proses pada waktu tertentu. Kumpulan kerja terdiri dari memori publik dan pribadi.

Kolom "Umum"

Kolom “Dapat Dibagikan” menunjukkan jumlah memori fisik dalam kilobyte itu proses ini berbagi dengan orang lain. Berbagi satu segmen memori atau halaman pertukaran untuk proses terkait dapat menghemat ruang memori. Ini secara fisik hanya menyimpan satu salinan halaman, yang kemudian dipetakan ke ruang alamat virtual dari proses lain yang mengaksesnya. Misalnya, semua proses dimulai oleh sistem DLL- Ntdll, Kernel32, Gdi32 dan User32 - menggunakan memori bersama.

Kolom "Pribadi"

Kolom Pribadi menunjukkan jumlah memori fisik, dalam kilobyte, yang digunakan secara eksklusif oleh proses ini. Nilai inilah yang memungkinkan Anda menentukan berapa banyak memori yang dibutuhkan aplikasi tertentu untuk berfungsi.

Kolom “Kesalahan halaman hilang dari memori/detik.”

Di kolom “Kesalahan halaman kehabisan memori/detik.” (Kesalahan Keras/dtk) menunjukkan jumlah rata-rata kesalahan halaman kehabisan memori per detik selama menit terakhir. Jika suatu proses mencoba menggunakan lebih banyak memori fisik daripada yang tersedia saat ini, sistem akan menulis sebagian data dari memori ke disk - ke file halaman. Akses selanjutnya ke data yang disimpan ke disk disebut kesalahan halaman kehabisan memori.

Apa yang dimaksud dengan kesalahan halaman kehabisan memori?

Sekarang setelah Anda memiliki gambaran tentang informasi apa yang dikumpulkan dalam tabel Proses, mari kita lihat bagaimana Anda dapat menggunakannya untuk memantau alokasi memori. Saat menjalankan aplikasi dan bekerja dengan file, manajer memori memantau ukuran set kerja setiap proses dan mencatat permintaan sumber daya memori tambahan. Ketika rangkaian kerja suatu proses meningkat, petugas operator mencocokkan permintaan ini dengan kebutuhan kernel dan proses lainnya. Jika ruang alamat yang tersedia tidak mencukupi, petugas operator mengurangi ukuran set kerja dengan menyimpan data dari memori ke disk.

Kemudian, saat membaca data ini dari disk, terjadi kesalahan halaman kehabisan memori. Ini cukup normal, tetapi jika kesalahan terjadi secara bersamaan untuk proses yang berbeda, sistem memerlukan waktu tambahan untuk membaca data dari disk. Terlalu sering terjadi error page-out-of-memory akibatnya menurunkan kinerja sistem. Anda mungkin pernah mengalami pelambatan yang tidak terduga pada semua aplikasi, yang kemudian juga tiba-tiba berhenti. Perlambatan ini hampir pasti disebabkan oleh redistribusi data aktif antara memori fisik dan swap.

Kesimpulannya sebagai berikut: jika kesalahan halaman kehabisan memori untuk proses tertentu terjadi terlalu sering dan teratur, komputer tidak memiliki memori fisik yang cukup.

Untuk memudahkan memantau proses yang sering menyebabkan kesalahan halaman kehabisan memori, Anda dapat menandainya dengan tanda. Dalam hal ini, proses yang dipilih akan berpindah ke bagian atas daftar, dan dalam grafik kesalahan halaman yang hilang, proses tersebut akan diwakili oleh kurva oranye.

Perlu diingat bahwa alokasi memori bergantung pada sejumlah faktor lain, dan memantau kesalahan halaman kehabisan memori bukanlah cara terbaik atau satu-satunya cara untuk mengidentifikasi masalah. Namun, ini bisa menjadi titik awal yang baik untuk observasi.

Tabel "Memori fisik"

Tabel Proses memberikan informasi rinci tentang alokasi memori antar proses terpisah, dan tabel Memori Fisik memberikan gambaran keseluruhan penggunaan RAM. Komponen utamanya adalah histogram unik yang ditunjukkan pada Gambar. C.


Gambar C: Histogram pada tabel Memori Fisik memberikan gambaran umum distribusi memori di Windows 7.

Setiap bagian histogram ditandai dengan warnanya sendiri dan mewakili kelompok halaman memori tertentu. Saat sistem digunakan, manajer memori memindahkan data antar grup ini di latar belakang, menjaga keseimbangan antara memori fisik dan virtual untuk memastikan pekerjaan yang efisien semua aplikasi. Mari kita lihat lebih dekat histogramnya.

Bagian “Peralatan yang dipesan”

Di sebelah kiri adalah bagian “Cadangan Perangkat Keras”, berlabel abu-abu: Ini adalah memori yang dialokasikan untuk kebutuhan perangkat keras yang terhubung, yang digunakan untuk berinteraksi dengan sistem operasi. Memori yang dicadangkan untuk perangkat keras terkunci dan tidak dapat diakses oleh manajer memori.

Biasanya, jumlah memori yang dialokasikan untuk peralatan berkisar antara 10 hingga 70 MB, namun angka ini bergantung pada konfigurasi sistem tertentu dan dalam beberapa kasus dapat mencapai beberapa ratus megabita. Komponen yang mempengaruhi jumlah memori yang dicadangkan meliputi:

;
komponen papan utama- misalnya, pengontrol interupsi input/output yang dapat diprogram (APIC);
kartu suara dan perangkat lain yang melakukan input/output yang dipetakan memori;
bus PCI Express (PCIe);
kartu video;
berbagai set sirkuit mikro;
flash drive.

Beberapa pengguna mengeluh bahwa sistem mereka mencadangkan jumlah memori yang tidak normal untuk perangkat keras mereka. Saya belum pernah menghadapi situasi seperti ini dan oleh karena itu saya tidak dapat menjamin keefektifan solusi yang diusulkan, namun banyak yang mencatat bahwa pembaruan versi BIOS memungkinkan Anda untuk memecahkan masalah.

bagian “Sedang Digunakan”.

Bagian Sedang Digunakan, ditunjukkan dalam warna hijau, mewakili jumlah memori yang digunakan oleh sistem, driver, dan proses yang berjalan. Jumlah memori yang digunakan dihitung sebagai nilai “Total” dikurangi jumlah indikator “Dimodifikasi”, “Siaga” dan “Gratis”. Pada gilirannya, nilai “Total” adalah indikator “RAM Terpasang” dikurangi indikator “Peralatan Cadangan”.

Bagian "Berubah"

Bagian “Dimodifikasi” disorot dengan warna oranye, yang mewakili memori yang telah dimodifikasi tetapi tidak digunakan. Sebenarnya tidak terpakai, namun bisa digunakan sewaktu-waktu jika diperlukan kembali. Jika memori sudah lama tidak digunakan, data ditransfer ke file halaman, dan memori masuk ke kategori "Menunggu".

Bagian "Menunggu"

Bagian Tertunda, ditampilkan dengan warna biru, mewakili halaman memori yang telah dihapus dari set kerja tetapi masih terkait dengannya. Dengan kata lain, kategori "Menunggu" sebenarnya adalah cache. Halaman memori dalam kategori ini diberi prioritas dari 0 hingga 7 (maksimum). Halaman yang terkait dengan proses berprioritas tinggi menerima prioritas maksimum. Misalnya, proses bersama memiliki prioritas tinggi, sehingga halaman yang terkait dengannya diberi prioritas tertinggi dalam kategori Tertunda.

Jika suatu proses memerlukan data dari halaman tunggu, manajer memori segera mengembalikan halaman tersebut ke set kerja. Namun, semua halaman dalam kategori Tertunda tersedia untuk merekam data dari proses lain. Ketika suatu proses memerlukan memori tambahan dan memori bebas tidak mencukupi, manajer memori memilih halaman tunggu dengan prioritas terendah, menginisialisasinya, dan mengalokasikannya ke proses yang meminta.

Bagian "Gratis"

Dalam kategori "Gratis", ditunjuk biru, mewakili halaman memori yang belum dialokasikan untuk proses apa pun atau yang telah dibebaskan setelah proses dihentikan. Bagian ini menampilkan memori yang belum digunakan dan sudah dikosongkan, namun kenyataannya, memori yang belum digunakan termasuk dalam kategori yang berbeda - “ Nol halaman(Zero Page), dinamakan demikian karena halaman-halaman ini diinisialisasi dengan nilai nol dan siap digunakan.

Tentang masalah memori bebas

Sekarang setelah Anda memiliki pemahaman dasar tentang cara kerja manajer memori, mari luangkan waktu sejenak untuk mengatasi kesalahpahaman umum tentang sistem manajemen memori di Windows 7. Seperti yang Anda lihat dari Gambar 1. C, Bagian memori bebas adalah salah satu yang terkecil di histogram. Namun, adalah suatu kesalahan untuk berasumsi berdasarkan hal ini bahwa Windows 7 mengkonsumsi terlalu banyak memori dan sistem tidak dapat bekerja dengan baik jika hanya ada sedikit memori bebas.

Faktanya, justru sebaliknya. Dalam konteks pendekatan Windows 7 terhadap manajemen memori, memori bebas tidak ada gunanya. Semakin banyak memori yang digunakan, semakin baik. Dengan memaksimalkan memori dan terus-menerus memindahkan halaman dari satu kategori ke kategori lainnya menggunakan sistem prioritas, Windows 7 meningkatkan efisiensi dan mencegah data berakhir di file halaman, mencegah kesalahan di luar halaman yang memperlambat kinerja.

Pemantauan memori

Apakah Anda ingin mengamati sistem kendali? memori jendela 7 beraksi? Restart komputer Anda dan segera setelah startup, buka Windows 7 Resource Monitor. Buka tab Memory dan perhatikan rasio bagian dalam histogram memori fisik.

Kemudian mulai meluncurkan aplikasi. Saat Anda berlari, perhatikan perubahan histogram. Setelah Anda meluncurkan sebanyak mungkin aplikasi, mulailah menutupnya satu per satu dan perhatikan bagaimana rasio bagian dalam histogram memori fisik berubah.

Dengan melakukan eksperimen ekstrem ini, Anda akan memahami bagaimana Windows 7 mengelola memori pada komputer khusus Anda, dan Anda akan dapat menggunakan Windows 7 Resource Monitor untuk memantau alokasi memori dalam kondisi pengoperasian normal sehari-hari.

Bagaimana menurutmu?

Apakah Anda menyukai gagasan menggunakan Windows 7 Resource Monitor untuk memantau alokasi memori? Bagikan pendapat Anda di komentar!

Banyak sistem komputasi menyertakan satu atau beberapa versi manajer memori (nama lain adalah unit manajemen memori - MMU), yang dengannya sistem operasi multitasking mengalokasikan memori untuk setiap tugas dan memberikan perlindungan dari program pengguna. Misalnya, masalah yang umum terjadi ketika program aplikasi membuat kesalahan saat menghitung alamat, mungkin menggunakan nilai indeks yang terlalu besar atau terlalu kecil. Jika sistem tidak dilindungi, kesalahan semacam ini dapat menyebabkan perubahan kode yang disertakan dalam program sistem operasi atau modifikasi tabel perangkat dan bahkan menyebabkan perangkat dinyalakan secara tidak terencana dengan konsekuensi fatal, seperti penulisan yang tidak sah ke file data. .

Selain melindungi sistem operasi dari kerusakan yang tidak disengaja, manajer memori menyediakan relokasi program otomatis. Dengan bantuan manajer memori, alamat logis atau perangkat lunak dari program pengguna diubah menjadi alamat fisik atau perangkat keras. Alamat-alamat ini mungkin terletak di memori yang sangat berbeda dari titik alamat logisnya. Terjemahan alamat menyebabkan sistem operasi dan perangkat I/O yang dilindungi dihapus sepenuhnya dari ruang alamat pengguna. Setiap upaya untuk membaca atau menulis memori di luar ruang alamat yang dialokasikan untuk pengguna menyebabkan prosesor membuat program pengguna crash.

Informasi biasanya dikirimkan dalam potongan-potongan yang terdiri dari sejumlah bit tetap; 80386 MP menggunakan potongan 32-bit kecuali jika diperintahkan untuk mengurangi ukuran potongan menjadi 16-bit. Bagian-bagian ini diberi nama berdasarkan kata-kata. Proses penulisan kata ke dalam sistem memori disebut merekam dalam memori proses mengambil kata dari ingatan - membaca dari ingatan.

Ada dua metode untuk mengakses memori: acak dan berurutan. Akses berurutan digunakan dalam sistem penyimpanan di mana kata-kata diakses dalam urutan yang telah ditentukan. Akses acak, di sisi lain, melibatkan kemampuan untuk mengakses kata-kata dari sistem penyimpanan dalam urutan apa pun dan dalam waktu yang kurang lebih sama.

Tidak peduli seberapa sempurna memorinya, ketika sinyal melewati antar perangkat, terjadi penundaan dalam propagasinya. Penundaan propagasi didefinisikan sebagai waktu yang diperlukan sinyal logis untuk berjalan melalui perangkat atau rangkaian perangkat yang membentuk rantai logis. Penundaan ini juga memperhitungkan lewatnya sinyal di sepanjang jalur penghubung antar chip.

Akses Memori Langsung (DAM)

Akses Memori Langsung memungkinkan perangkat eksternal dan memori untuk bertukar data secara langsung tanpa intervensi program. DDP memberikan kecepatan I/O maksimum dan paralelisme proses maksimum. Sementara I/O yang digerakkan oleh interupsi dan I/O yang dikendalikan perangkat lunak mentransfer data melalui prosesor, DMA mentransfer data secara langsung antara perangkat I/O dan memori.

Untuk meminimalkan jumlah bus data, tindakan khusus diambil untuk memungkinkan penggunaan tulang punggung konvensional untuk DMA. Langkah-langkah ini terdiri dari fakta bahwa prosesor melepaskan jalan raya, dan perangkat eksternal menangkapnya dan menggunakannya untuk mengirimkan data.

Selama DAP, eksekusi program biasanya dihentikan. Batangnya dilepaskan segera setelah jalur kendali permintaan DMA diaktifkan. Prosesor menghentikan operasi saat ini, membebaskan jalur alamat dan data, dan menetapkan sinyal pada salah satu jalur kontrol untuk mencegah penguraian kode yang tidak disengaja dari sinyal kontrol yang tidak ditentukan.

Antarmuka I/O mentransfer data langsung ke memori menggunakan register khusus. Ketika ada kebutuhan untuk mentransfer data, antarmuka meminta siklus memori dari prosesor. Setelah dikenali, antarmuka mentransfer data langsung ke memori sementara prosesor berhenti selama satu siklus memori. Logika yang melakukan transfer ini disebut saluran.

Saluran berisi register untuk menyimpan alamat sel memori ke atau dari mana data ditransfer. Dalam kebanyakan kasus, saluran juga menyertakan penghitung kata untuk menghitung jumlah transfer langsung yang dilakukan. Selain itu, saluran harus berisi sirkuit yang menyediakan pertukaran sinyal kontrol, sinkronisasi, dan operasi tambahan lainnya. Pada Gambar. Gambar 13.4 menunjukkan koneksi logis antara CPU dan pengontrol DMA.

komponen RAP. Komponen utama DMA adalah pemicu permintaan, register alamat, penghitung, dan register data, yang digunakan oleh perangkat periferal. Mengirim data melalui saluran DMA melibatkan beberapa tahap: 1) menginisialisasi logika DMA untuk melakukan DMA selama siklus penangkapan bus yang berulang; 2) aktivasi PDP asinkron sehubungan dengan operasi program; 3) pemberitahuan akhir transfer (dengan sinyal dari meteran atau sebagai akibat dari perubahan keadaan perangkat); 4) mengadakan program “pembersihan” di akhir transfer; 5) penyelesaian DMA menggunakan program layanan interupsi, yang mengembalikan kendali ke program utama.

Blokir penerusan data. Prosedur DDP untuk perangkat berkecepatan tinggi menggunakan transfer data blok. Saat menjalankan program saat ini, prosesor memulai transfer blok data dan menentukan jumlah kata yang membentuk blok tersebut. Namun, transmisi kata-kata sebenarnya dilakukan di bawah kendali perangkat terpisah - pengontrol DMA. Kecepatan maksimum transmisi blok melalui saluran DMA hanya dibatasi oleh durasi siklus memori (membaca atau menulis) dan kecepatan pengoperasian pengontrol DMA.

DDP dengan pekerjaan siklus memori. Program memulai transfer blok dengan menempatkan alamat awal di penghitung alamat dan jumlah kata di penghitung kata. dan mengeluarkan perintah run. DDP jenis ini sering disebut dengan DDP dengan menempati siklus memori, karena ini menghentikan sementara eksekusi program kira-kira satu siklus mesin setiap kali.

Saat menggunakan DMA yang sibuk dengan siklus memori, transfer data terjadi secara paralel dengan proses lain yang berjalan pada CPU. Urutan tindakan di sini sama dengan transfer blok, dengan pengecualian bahwa pengontrol DMA mengambil siklus memori dari prosesor dan, oleh karena itu, memperlambat operasinya (memblokir transfer data melalui saluran DMA juga dibutuhkan siklus memori, kecuali DMA digunakan pada bus terpisah).

Anda telah menyambungkan perangkat baru, namun lambat berfungsi, atau perangkat lama berhenti berfungsi, atau tidak berfungsi dengan benar. Apa yang harus dilakukan dalam kasus ini? Instal ulang semuanya? Ini merepotkan, dan tidak selalu diperlukan. Bagaimana cara mengetahui penyebabnya dan bagaimana cara menghilangkannya? Sangat sederhana. Faktanya adalah bahwa dalam sistem operasi keluarga Windows, dan tidak hanya itu, ada yang pastiManajer Perangkat, sebenarnya, manajer yang sangat diperlukan dan berguna, jika Anda bisa menyebutnya begitu. Ini dia, dia akan membantu kita mencari tahu apa penyebab masalahnya, dan lembar contekan saya akan membantu kita memperbaiki masalah tersebut. Jadi, dalam hal yang disebutkan di atasManajer Perangkat jejak kesalahan dalam pengoperasian perangkat tetap dalam bentuk kode. Mengetahui kode kesalahannya, tidak sulit untuk menentukan penyebab masalahnya. Bagi yang belum tahu, kode hanyalah angka yang tidak dapat dipahami dan tidak berarti. Namun bagi pengguna yang berpengetahuan luas, mereka dapat mengetahui banyak hal. Saya akan mencoba, semampu saya, untuk menjelaskan topik ini.


Untuk melihat kesalahan perangkat, pertama-tama kita harus masuk ke Pengelola Perangkat itu sendiri. Ini dilakukan seperti ini. MasukPanel Kontrol dari menuAwal ( Bisa,-ku komputer , kunci kanan -Properti Manajer Perangkat, atau Anda dapat melakukannya dengan menentukan perintah dimenjalankan , tapi kenapa mempersulit segalanya). Jika kita masuk melaluiPanel pengelolaan , maka jalurnya adalah:Sistem - Peralatan - Manajer Perangkat . Pilih dengan masuk ke menuPengelola perangkat , jenis perangkat yang kita minati (keyboard, printer, modem, dll), klik dua kali padanya, alhasil kita akan melihat perangkat yang termasuk dalam jenis tersebut. Pilih perangkat yang kita butuhkan dan klik dua kali di atasnya. Lihatlah kolom pada tab Tentangumum, Status perangkat. Jika ada masalah dengan pengoperasian perangkat, maka akan ditampilkan di sini sebagai kode kesalahan. Jadi kita melihat angka dan angka. Apa maksudnya? Dibawah ini saya berikan daftar lengkap kesalahan, dengan deskripsi singkat kesalahan dan cara yang mungkin eliminasi. Kode kesalahan disorot dengan warna merah, deskripsinya berwarna biru dan solusinya berwarna hitam.

Kode 1Ada masalah saat menyiapkan perangkat, tidak pengaturan yang benar atau pengemudinya hilang. Klik tombolnya Perbarui driver , untuk meluncurkan wizardPembaruan perangkat keras . Jika tidak ada driver sama sekali, instal.

Kode 3Driver perangkat rusak, atau RAM tidak cukup agar perangkat dapat berfungsi dengan benar.1. Mari hapus driver yang rusak dan instal yang baru. Untuk melakukan ini: Properti - Driver - Hapus, lalu ikuti instruksi wizard. Menyalakan ulang. Membuka lagiPengelola perangkat Tindakan Perbarui konfigurasi perangkat keras dan ikuti instruksi masternya. 2. Jika masalahnya adalah kurangnya memori virtual, tutup aplikasi yang sedang berjalan untuk mengosongkan memori. Untuk memeriksa status memori kita perlu pergi keManajer Tugas , untuk melakukannya, tekan pintasan keyboardCtrl+Shift+Esc.Kita dapat melihat pengaturan memori virtual dengan mengklik kananKomputer saya Properti - Lanjutan - Kinerja - Pengaturan (Opsi) . Anda dapat mencoba menambah file swap (saya menjelaskan cara melakukannya di salah satu artikel blog saya sebelumnya), tetapi ini bukan tindakan radikal. Anda harus meningkatkannya RAM. Bagaimana hal ini dilakukan adalah topik terpisah di luar cakupan postingan ini.

Kode 10Di bagian registri terdapat parameter yang sesuai dengan perangkatGagalAlasanString,nilai parameter ini ditampilkan pada data kesalahan, yaitu jika tidak ada parameter seperti itu, maka muncul kode kesalahan, dengan kata lain perangkat tidak dapat dihidupkan. Perbarui driver seperti di atas. Atau instal yang lebih baru.

Kode 12Tidak ada persediaan sumber daya yang diperlukan untuk perangkat ini. Nonaktifkan perangkat lain yang berfungsi, setidaknya satu, untuk melakukan ini, gunakan wizard pemecahan masalah, yang, jika Anda mengikuti instruksinya, akan menonaktifkan perangkat yang konflik. (Izinkan saya mengingatkan Anda secara singkat: Properti - Umum - Pemecahan Masalah.)

Kode 14Memerlukan restart PC agar perangkat ini dapat berfungsi.

Kode 16Tidak mungkin mengidentifikasi sumber daya yang diperlukan agar perangkat dapat beroperasi; perangkat tidak dikonfigurasi sepenuhnya. Anda perlu menetapkan sumber daya tambahan ke perangkat. Tapi ini bisa dilakukan tanpa masalah jika perangkat itu milikPasang dan Mainkan.

Properti - Sumber Daya. Jika ada sumber daya dengan tanda ? di daftar sumber daya, pilih sumber daya tersebut untuk ditetapkan ke perangkat yang dipilih. Jika sumber daya tidak dapat diubah, klikUbah pengaturan , jika fungsi ini tidak tersedia, hapus centangPengaturan otomatis

Kode 18Instal ulang driver perangkat. Kami mencoba memperbarui driver atau menghapusnya dan melakukannya seperti pada contohkode 3.

Kode 19Informasi dalam registri tentang pengaturan perangkat tidak mencukupi, atau pengaturannya rusak. BerlariWisaya Pemecahan Masalah dan ikuti instruksinya, jika tidak membantu, instal ulang perangkat seperti yang disebutkan di atas. (kode 3). Atau, jika itu tidak membantu, unduhKonfigurasi Baik yang Terakhir Diketahui. Jika ini tidak membantu, Anda memerlukan bantuan spesialis, sama seperti Anda perlu mengedit registri sistem. Tanpa pengetahuan dan pengalaman, Anda tidak dapat melakukan apa pun sendiri; administrator sistem mana pun akan mengonfirmasi hal ini kepada Anda. Dia yang berilmu dan mampu, dia sendiri yang tahu bagaimana melakukannya, tanpa aku. Dan bagi orang yang belum berpengalaman, lebih baik tidak mencoba. Registri adalah jantung dari sistem operasi dan hanya spesialis berpengalaman, atau di bawah pengawasannya, yang boleh melakukan pengoperasian pada sistem tersebut. Saya tidak ingin menyinggung siapa pun dengan cara apa pun, tetapi jika Anda belum pernah bekerja dengan registri sistem dan jika Anda menghargai komputer Anda, saran saya adalah lupakan jalan ke sana. Saya menulis bukan untuk para profesional, mereka tidak membutuhkannya, tetapi untuk pengguna rata-rata. Tentu saja saya dapat menulis bagaimana dan apa yang harus dilakukan di sana, tetapi ini akan menjadi penjelasan manual dan jika Anda merusak komputer Anda karena kesalahan sekecil apa pun, saya yang akan disalahkan. Saya tidak membutuhkan ini sama sekali, begitu pula Anda.

Kode 21 Perangkat sedang dihapus dari sistem, yaitu sistem operasi mencoba menghapus perangkat, namun prosesnya belum selesai.


Jeda selama beberapa detik dan tekan tombol


Kode 22 Perangkat dinonaktifkan. Perangkat harus dihidupkan.Tindakan - Aktifkan dan ikuti instruksi selanjutnya.


Kode 24 Perangkat hilang atau tidak terpasang dengan benar, driver tidak berfungsi, perangkat mungkin telah disiapkan untuk dilepas. Hapus perangkat dan instal lagi.


Kode 28 Tidak ada pengemudi. Instal drivernya. Untuk melakukan ini, Anda perlu Perbarui driver, ikuti langkah-langkah seperti pada petunjuk untuk Kode 1.


Kode 29Perangkat dinonaktifkan . Anda harus mengizinkan perangkat untuk beroperasi pengaturanBIOSBaca petunjuk penggunaan perangkat.


Kode 31Sistem tidak dapat memuat driver untuk perangkat ini . Perbarui driver seperti dijelaskan di atas.


Kode 32Driver untuk perangkat ini dinonaktifkan registri sistem . Hapus instalasi dan instal ulang driver (dijelaskan di atas)


Kode 33Sistem operasi tidak dapat menentukan sumber daya untuk ini perangkat . Siapkan perangkat atau ganti.


Kode 34Sistem operasi tidak dapat mendeteksi pengaturan perangkat . Tinjau dokumentasi yang disertakan dengan peralatan dan konfigurasikan konfigurasi secara manual pada tab Sumber Daya.


Kode 35Firmware PC tidak memiliki informasi yang diperlukan untuk memperbaikinya pengoperasian perangkat . Perlu memperbaruiBIOS.Untuk petunjuk tentang cara melakukan ini, hubungi pemasok Anda, atau lebih baik lagi, gunakan layanan teknisi berpengalaman.


Kode 36Perangkat memerlukan interupsi untuk beroperasi.PCIdan perangkat dikonfigurasi untuk menyelaadalah,atau sebaliknya . Pengaturan perlu diubahBIOShubungi teknisi berpengalaman.


Kode 37Sistem operasi tidak mengenali driver untuk perangkat ini . Instal ulang driver (dijelaskan di atas).


Kode 38OS tidak dapat memuat driver untuk perangkat karena, versi driver sebelumnya tetap ada di memori . Anda perlu me-restart PC Anda. Jalankan Wizard Pemecahan Masalah jika tidak dimulai (Properti - Umum - Pemecahan Masalah) dan ikuti instruksi wizard. Setelah itu ada reboot wajib.


Kode 39OS tidak dapat memuat driver perangkat. Sopirnya rusak atau tidak ada sama sekali . Instal ulang driver seperti dijelaskan di atas.


Kode 40Tidak ada akses ke peralatan karena tidak ada informasi dalam registri sistem atau informasi tersebut mengandung kesalahan . Instal ulang drivernya.


Kode 41Perangkat tidak terdeteksi . Jalankan Wizard Pemecahan Masalah (dijelaskan di atas), jika ini tidak membantu, perbarui konfigurasi perangkat keras (lihat di atas) atau perbarui driver. Jika tidak, instal lebih banyak versi baru pengemudi.


Kode 42Sistem sudah memiliki driver seperti itu. Artinya, ada dua perangkat yang berbeda Dengan nama yang sama, mungkin karena kesalahan . Nyalakan kembali PC Anda.


Kode 43Menghentikan perangkat karena masalah pengoperasiannya . Jalankan Wizard Pemecahan Masalah dan ikuti instruksinya.


Kode 44Aplikasi atau layanan telah menghentikan perangkat Anda . Nyalakan kembali PC Anda.


Kode 45Perangkat tidak terhubung . Hubungkan perangkat Anda.


Kode 46Kesalahan ini muncul ketika sistem operasi dimatikan. Anda tidak perlu melakukan apa pun, saat berikutnya Anda memulai OS, semuanya akan berfungsi.


Kode 47 Perangkat telah disiapkan untuk penghapusan yang aman, tapi belum dihapus (misalnya flash) . Lepaskan perangkat, lalu sambungkan kembali, restart PC Anda.


Kode 48Perangkat, atau lebih tepatnya perangkat lunaknya, diblokir . Perbarui driver atau instal yang baru.


Kode 49Perangkat tidak dapat dijalankan karena memiliki volume kumpulan registri sistem yang besar, yang melebihi parameter yang valid registri . Hapus perangkat yang tidak digunakan dari registri. Anda dapat melakukan ini: Pengelola Perangkat - Lihat - Tampilkan perangkat tersembunyi. Di sini Anda akan melihat perangkat tersembunyi yang tidak terhubung ke PC Anda. Pilih perangkat yang ingin Anda hapus, klik Properti untuk perangkat - Driver - Hapus, lalu ikuti instruksi wizard dan terakhir restart PC.


Panduan untuk menghapus virus apa pun dari PC dengan tangan Anda sendiri. Semua metode penghapusan virus benar-benar berfungsi dan diuji dalam praktiknya, petunjuk langkah demi langkah dengan ilustrasi - sederhana dan mudah diakses bahkan untuk anak sekolah + video tutorial + program ultraiso untuk membuat pengunduh + tautan berguna ke alat dalam memerangi virus. Unduh arsip