인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST

Windows System Programming - Basics

A must-take course for anyone thinking of becoming a Windows programmer! Have you studied C/C+, data structures, and operating system theory? If so, studying system programming is the answer now. Now it's time for practice!

(5.0) 25 reviews

922 students

C
vc++
system-programming
Thumbnail

This course is prepared for Intermediate Learners.

What you will learn!

  • Theory on Windows System Security System

  • Multithreaded programming and synchronization techniques

  • Synchronous/asynchronous file input/output techniques

  • Virtual memory system and memory operation techniques

  • Process management and shared memory-based IPC techniques

  • Creating and using DLL libraries

The basics of system programming,
We'll get to the point!

If you are a C/C++ Windows developer,
System programming you must know.

Jeffrey Richter, Windows Via C/C++
Did it just feel too difficult?

You can understand the book 『Windows Via C/C++ 5th edition』, which is known as the bible of system programming but is difficult to understand easily!

Attention Game Server Developers, Windows Application Developers!

If you are aspiring to become a Windows application developer, including games, you will learn C/C++ and data structures. You will also study CS theory to some extent. However, you will feel that something is lacking . You will know that system programming is a programming skill that you must know to become a professional developer, but when you open the book, you will judge that it is not an easy path and that self-study will be difficult.

The solution is simple! Just as a high level of understanding actually starts from memorizing trivial things, it is to completely master the core theories and examples that are the most basic part of system programming.

So, I recommend it to these people.

Anyone who needs to develop C/C++ based Windows applications

Developers of applications based on older technologies such as MFC or Win32 API

Aspiring game server programmer

System programming learners who want to experience the theory of operating systems at the code level.


The core of system programming
Let me explain it to you in an easy-to-understand way!

  • 1️⃣ You can understand the core theories such as understanding of multi-threaded programming environment and synchronization techniques.
  • 2️⃣ By re-experiencing the theories you encountered while studying operating systems at the code level, your level of understanding of CS knowledge will increase significantly.
  • 3️⃣ You can develop practical applications that guarantee high performance by actively utilizing services provided by the operating system, including synchronous/asynchronous input/output.
  • 4️⃣ You can independently understand various theories and cases required for Windows application development, including high-performance servers.

The core theories of system programming are explained easily! It is no exaggeration to say that the core of CS theory is the operating system and computer architecture. The reason why native languages such as C/C++ are difficult is because they require a certain level of understanding of CS theory. This lecture will play a pivotal role in allowing you to experience the core system theories that you must know in order to advance to the peak of CS theory through programming.


In learning system programming
Essential theory that you absolutely need.

We've condensed the theory you need to learn to the utmost extent possible, and included only the essential points!

  • ✅ Windows Security System
  • ✅ Multithreaded programming techniques (creation and synchronization)
  • ✅ Synchronous/asynchronous file input/output techniques using Win32 API
  • ✅ Virtual memory system, heap, memory map
  • ✅ Shared memory based IPC
  • ✅ DLL library creation technique

Process Execution and Privilege Inheritance

Acquiring and committing independent virtual memory per process

64KB allocation size and 4KB page memory structure

Studying from Bible-level books is a good choice, but it is never easy for beginners. No matter how good the content is, it is difficult to understand. This lecture is designed to open the way for you to approach difficult theories more easily.


Q&A 💬

Q. Do I have to learn system programming to become a Windows application developer?

Yes, you absolutely must learn it. Even if you are simply developing a GUI, you will often need to have a good understanding of most of the theories covered in system programming to be able to solve problems.

Q. I am a job seeker who hopes to become a game developer. Will this lecture help me?

If you are a game developer, system programming is not an option, it is a must. You must know the level mentioned in this lecture perfectly. And you must study more difficult theories. However, after finishing this lecture properly, you will be able to reach a level where you can understand the meaning by yourself even if you look at related materials.

Q. Do I need to take this course to become a security software developer?

If you want to develop software like V3, system programming theory is essential. Before moving on to kernel driver development, you must know system programming, and if you want to learn various attack/defense techniques including reversing, it is difficult to even try without knowing system programming theory.

Q. I only studied the C language and data structures. Can I still take this course?

Yes, you can hear it. However, if you have not studied operating systems, the content may be a bit difficult. And even if you have studied the C language, you must know the following content.

  • Function pointer
  • Memory Class Specifiers and Memory Management
  • Stack frame designation principle
  • Binary file input/output

💾 Please check before taking the class.

  • This lecture is titled "Windows System Programming - Basics", and "Windows System Programming - Applications" will be released later.
  • The course uses Windows 11 and Visual Studio 2022 Community version. If you have an operating system of Windows 10 or higher and a PC with sufficient specifications to run VScode 2022, you can easily take the course.
  • We provide PDFs and full example source code used in the lecture.
  • This lecture is designed for those who have an understanding of the C language and experience implementing linear data structures such as linked lists . You must have experience using development tools such as Visual Studio in a Windows OS environment . For detailed prerequisite knowledge, please refer to the information below.
    • C language and data structures and some C++ language grammar (you can take the course even if you don't know anything about it)
    • Lecture "Become a Computer Science Major by Memorizing Broadly and Shallowly"
    • Lecture "Minimum Operating System Theory: Learn Easily with Bear Book"
    • Lecture "C Programming: A Deep Review" (Most Important Pre-requisite Knowledge)

Recommended for
these people!

Who is this course right for?

  • Anyone who wants to develop Windows system control software

  • Anyone who wants to develop security software or game servers

  • Anyone who needs to develop C/C++ Windows-based applications

Need to know before starting?

  • C programming that is deeply reminiscent

  • Understanding data structures

  • Operating system knowledge of virtual memory

  • Experience using development tools in a Windows environment (cf. VSCode)

Hello
This is nullnull8537

32,736

Students

1,703

Reviews

1,023

Answers

4.9

Rating

20

Courses

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^

 

Curriculum

All

40 lectures ∙ (11hr 10min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Become the author of a review that helps everyone!