ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

operating system

Modern computer systems are composed of one or more processors, main memory, printers, keyboards, mice, monitors, network interfaces, and various input/output devices.

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

However, programmers will not directly deal with these hardware, and it is impossible for each programmer to master all the details of the computer system, so we don’t have to write code anymore, so on the basis of the hardware, the computer is installed with--layer Software, this layer of software can achieve the effect of controlling the hardware by responding to the instructions input by the user, thereby meeting user needs. This kind of software is called an operating system. Its task is to provide a better, simpler and clearer for user programs. Computer model.

Our common operating systems are mainly Windows, Linux, FreeBSD or OSX. This kind of operating system with a graphical interface is called Graphical User Interface (GUI), and the text-based and command-line-based operating system is usually called Shell . Below are the components of the operating system we are going to explore

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

This is a simplified diagram of an operating system. The bottom part is the hardware. The hardware includes the devices we mentioned above, such as chips, circuit boards, disks, keyboards, and monitors. Above the hardware is software. Most computers have two operating modes: kernel mode and user mode. The most basic part of the software is the operating system. It runs in the kernel mode. The kernel mode is also called the tube mode and the core mode. They are both operating systems. State is just a different name. The operating system has access to the hardware and can execute any instructions that the machine can run. The rest of the software runs in user mode.

User interface programs (shell or GUI) are in user mode, and they are located at the lowest level of user mode, allowing users to run other programs, such as web browsers, email readers, music players, etc. Moreover, the closer you are to the user mode, the easier it is to write an application. If you don’t like a certain email reader, you can rewrite it-one or another, but you cannot write an operating system or an interrupt handler by yourself. This program is protected by hardware to prevent external modifications to it.

First look at the overall context of this note

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

Friends who need to receive this Java operating system note forced by ByteDance internally can check the method of obtaining it in the picture!

Know the operating system

operating system

Introduction to Computer Hardware

Operating System Museum

Operating system concept

System call

Operating system structure

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

Processes and threads

process

Thread

Interprocess communication

Scheduling

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

RAM

No memory abstraction

A memory abstraction: address space

Virtual Memory

Page replacement algorithm

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

File system

file

table of Contents

File system implementation

File system management and optimization

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

I / O

I/O device

I/O software principle

I/O hierarchy

plate

clock

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

Deadlock

Resources

Deadlock

Bei ostrich algorithm

Deadlock detection and recovery

Deadlock avoidance

Destroy deadlock

other problems

to sum up

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

Operating system interview questions

ByteDance's internal crazy notes on the Java operating system, covering processes, threads, IO, deadlocks, etc.

 

Friends who need to receive this Java operating system note forced by ByteDance internally can check the method of obtaining it in the picture!

 

Guess you like

Origin blog.csdn.net/qq_46388795/article/details/108664127