When doing kernel-driven development, you can use the files under/proc to get the appropriate information for debugging.Most of the files under/proc are read-only, but for the completeness of the example, a write method is provided.Method One: Use Create_proc_entry to create the proc file (simple, but the write operation has the danger of buffer overflow);Method
This is a creation in
Article, where the information may have evolved or changed.
A long time did not write a blog, recently really a bit depressed, the first level of their own limited, in the road to become Daniel struggling, ferocious struggle, followed by some people dissatisfied with certain attitudes, I think attitude is very important, good, spit groove is complete.
SQL Server is required for the project. First Golang connect SQL Server with the official recommended package github.com/den
Summarize the development, code, and process of LED lamp control mounted on/proc through one-day study.1. driver code[Cpp]# Include # Include # Include # Include # Include # Include # Include MODULE_LICENSE ("Dual BSD/GPL ");# Define USER_ROOT_DIR "led"# Define USER_ENTRY1 "led_entry1"Static struct proc_dir_entry * led_root;Static struct proc_dir_entry * led_entry1;Static char msg [255];Static unsigned long led_table [] ={S3C2410_GPB (5 ),S3C2410_GPB
Before installing new hardware into a Linux system, you will want to know the current system's resource configuration status. Linux concentrates all this information on the/proc file system. The files in the/proc directory are virtual from the Linux kernel, and when you read them, the kernel provides the file contents in real time. By/proc, we can learn about the
This article is also called "Linux Device Drivers", the fourth chapter of LDD3's Debuging Techniques's reading notes, but we are not limited to this content.
In linux, for example, to read the CPU, you can use cat/proc/cpuinfo. Through this, we can obtain the CPU by reading files in the program. This high-capacity and high-performance service is very commonly used, for example, when the cpu is greater than 60%, we will reject all business requests u
I. SummaryThe preceding section briefly introduces ProC configuration and Development in Windows. This time, we use the Linux platform to configure the Oracle ProC Development Environment (RedHat Linux 9 + Oracle 92) again ). ORACLE Database development (1). Configure and use ProC in Windows and ORACLE Database Development (2). Configure and use
Proc/pid/maps shows the memory regions and access rights mapped by the process. The operation set in the corresponding kernel is proc_pid_maps_op, and the specific export function is Show_map. A segment of the process's address space in the kernel is represented by a vm_area_struct struct, and all address spaces are stored in the Task->mm->mmap list.A file can be mapped to a memory area of the process, and the mapped file description characters in the
This time talk about the "/proc folder.The/proc folder is a special folder that is used to keep files related to the state of the system, and the files in this folder are only virtual files on memory.Some files under the/proc folder can reflect the running state of each process. So it's a very important folder to decide which Linux to run.With this folder, you ca
Tags: des style blog color io strong for ARsql:structured Query LanguageOne, objectives in this chapter:
Invoke the SQL procedure
Select columns
Define New columns
Specify the table (s) to read
Specify subsetting criteria
Order rows by values of one or more columns
Group results by values of one or more columns
End the SQL procedure
Summarize data
Generate a report as the output of a query
Create a table of the output of a query
B. What is th
First in contact with the Linux BSP, the project has a specification is the bottom layer to provide hardware PCB and BOM information. Because in the Linux root file system/proc directory with hardware CPU, memory, memory and other hardware-related information, and in user space through the cat command can be easily obtained, so there is an idea, is to try to the project hardware PCB and BOM information displayed in the/
The kernel module traverses processes and task queues and saves them to the proc file.
A module uses it to traverse the parent process and task queue of the current process, and output the traversal result to a proc file (traversal can start from the current process, the parent process traverses the initialization process, and the task queue can be traversed using the for_each_process macro ).
The following
Jack: What does the device management mechanism of Linux implement look like, Kinky dragon?Me: In the 2.4 kernel, the main solution is DEVFS.Jack: I know. In 2.6, DEVFS has been replaced by Udev.Me: This is not accurate, is a layman to see the lively saying.Jack: What do you say?Me: Let me tell you about the origins of the proc file system. After listening, you will understand.Jack:proc file system? Across the.I: In a long long time ago, all the code
proc File System
The/proc directory is the Linux proc file system, which contains the kernel configuration information, network configuration system, and the state of the process are all based on the PID clearly directory. In short, you can find the basic configuration of the kernel. Kernel update
In the process of the kernel iteration, there are always some int
Ls/proc can see some digitally named folders, these numbers are pid[[email protected] proc]# CAT/PROC/1/STATM for the process487 185 133 31 0 67 0It is easy to return 7 sets of numbers, each of which is a page (common 4KB)respectively isSize: Task virtual address spaceResident: The size of the physical memory being usedShared: Share pagesTrs: The size of executab
);Test if it is a legal VMAif (VMA addr >= vma->vm_start (addr + sizeof (val)) {if (! ( Vma->vm_flags Vm_write)//test If we have rights to WRITE{PRINTK ("Cannot write to 0x%lx\n", addr);Goto out;}page = My_follow_page (VMA, addr);if (!page){PRINTK ("Page not found 0x%lx\n", addr);Goto out;}KERNEL_ADDR = (unsigned long) page_address (page);Kernel_addr + = (addr ~ page_mask);PRINTK ("Write 0X%LX to Address 0x%lx\n", Val, kernel_addr);* (unsigned long *) kernel_addr = val;Put_page (page);}Else{P
Development of proc under Windows, the environment is divided into two types:
Development tools: Vc6.0,vs2008,eclipse (c + +), editplus compilation configuration
Compilation tool: Cl compiler, MinGW GCC compiler
MinGW Download Address: http://sourceforge.net/projects/mingw/files/Other/OldFiles/MinGW-3.2.0-rc-3.exe/download
Http://ncu.dl.sourceforge.net/project/mingw/Other/OldFiles/MinGW-3.2.0-rc-3.exe
Oracle header files and libraries under Wi
Label:Stored procedures are like C # methods 1. The thing is written in the process, directly call the stored procedure 1.1 Procedure with no parameters /*transaction things, procedure stored procedures */
CREATE proc copytable_1_10000 as
begin tran--Things
declare @tran_ The error int;--declares the parameter
set @tran_error =0;--assigns a value to the parameter
declare @i int,@y int;
Set @i=10000;set @y=1;
/* When the new table does not exist, copy
It is now possible to get the node name (via function Udev_device_get_devnode ()) of the USB stick when it is inserted through Libudev, which is/DEV/SDB1What I do now is to read the/proc/mounts file, find the line that has/DEV/SDB1, parse out the mount point/media/11111The contents of the/proc/mounts file are as follows:
Sysfs/sys Sysfs rw,nosuid,nodev,noexec,relatime 0 0PROC/
I recently encountered such a strange problem when I was working on a project of tianyinda freight interface. Background: An application written using proc inserts records into the database. The table has three VARCHAR2 (4000) fields. Note: The database of Oracle9i. Problem: prompt when executing: ORA-01461: canbindaLONGvalueonlyforinsertintoaLONG
I recently encountered such a strange problem when I was working on a project of tianyinda freight interf
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.