Linux Advanced Application multithreading programming
1, Why multithreading?
else if(60<xy.x && xy.x<300 && 240<xy.y && xy.y<300)//Enter LCD detection
{
printf("enter LCD checking\n");
while(1)
{
lcd_show_color(RED);
xy = get_ts_xy();//block
else if(700<xy.x && xy.x<800 && 0<xy.y && xy.y<50)// ...
Added by love_php on Sat, 18 Sep 2021 16:58:47 +0300
shell script tutorial
shell programming
shell overview
The parsers provided by Linux are
[root@pihao01 ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
[root@pihao01 ~]#
Relationship between bash and sh
[root@pihao01 bin]# ll |grep bash
-rwxr-xr-x. 1 root root 1219248 Nov 9 2019 bash
lrwxrwxrwx. 1 root root 4 Nov 9 2019 sh ...
Added by KrisCons on Sat, 18 Sep 2021 02:29:16 +0300
Boot process and repair of linux system
Disk boot
mbr represents the master boot record, located in track 0 and sector 1, with a size of 446 bytes, as shown in the following figure:
mbr function: Record the location of grub2 boot files When mbr data is lost, the system will stop starting because the boot partition cannot be found
Problem simulation mode
[root@localhost Desktop]# ...
Added by jimjack145 on Fri, 17 Sep 2021 21:57:47 +0300
Prometheus experimental deployment
Prometheus Deployment Lab Server Assignment
host name address Installation package
prometheus 192.168.80.1 prometheus-2.27.1.linux-amd64.tar.gz
server1 192.168.80.2 node_exporter-1.1.2.linux-amd64.tar.gz
server2 192.168.80.3
server3 192.168.80.4
1. Make time synchronization
ntpdate ntp1.aliyun. ...
Added by unkwntech on Thu, 16 Sep 2021 19:16:54 +0300
System security and Application
1, Basic measures for account security
1. System account cleaning
(1) Set the Shell of the non logged in user to / sbin/nologin
usermod -S /sbin/nologin
(2) Lock accounts that have not been used for a long time
usermod-L user name
passwd - | user name
...
Added by hcoms on Thu, 16 Sep 2021 01:03:56 +0300
LED for driving frame
1, What is a drive frame
1. Who wrote the driver (1) Drive development engineer (2) Kernel maintainer
2. Driver programming collaboration requirements (1) The interface should be standardized. Don't make a mess. There are several sets of interfaces (2) Minimize the difficulty of driving developers
3. What is the driver framework (1) The ...
Added by Spitfire on Wed, 15 Sep 2021 01:29:51 +0300
Complete analysis of DRM CRTC of graphic display system
catalogue
Working principle and significance of CRTCInitialization and function of CRTC module
0. Introduction
CRTC under DRM represents RGB data pipeline from & DRM_ The plane receives the pixel data and mixes them together and transmits them to the lower level display device DRM_ encoder. By & DRM_ display_ Mode controls timin ...
Added by aconite on Mon, 13 Sep 2021 05:52:17 +0300
GIC Interrupt Processing in Linux Interrupt Subsystem
Linux Interrupt Subsystem (3) GIC Interrupt Processing
Remarks: _1.Kernel version: 5.4 _2.Use tools: Source Insight 4.0 _3.Reference Blog: Linux interrupt subsystem (1) Interrupt controller and driver analysis Linux Interrupt Subsystem (2) - General Framework Processing Hematemesis | Liver flip Linux interrupts all knowledge points Linux kerne ...
Added by AdB on Sun, 12 Sep 2021 20:29:12 +0300
MySQL can log in without a password (in Linux)
After installing mysql, I found that you can enter MySQL without entering a password. After studying for a long time, I finally found a solution.
Step 1: input in the console (modify mysqld.cnf file)
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Enter the mysqld.cnf configuration file, and then add the sentence skip grant tables in the [mysql ...
Added by jh_dempsey on Thu, 09 Sep 2021 02:29:09 +0300
Process communication -- mmap file memory mapping
Process communication - mmap file memory mapping
#include <sys/mman.h>
void *mmap(void *addr, size_t length, int prot, int flags,
int fd, off_t offset);
int munmap(void *addr, size_t length);
PROT_EXEC //Pages may be executed.
PROT_READ // Pages may be read.
PROT_WRITE // Pages may be written.
PROT_NONE // Pages may n ...
Added by Drace on Wed, 08 Sep 2021 21:08:43 +0300