Inflearn English brand logo
Inflearn English brand logo
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) 26 reviews

934 students

C
vc++
system-programming

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

33,274

Students

1,760

Reviews

1,037

Answers

4.9

Rating

21

Courses

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

 

Curriculum

All

40 lectures ∙ (11hr 10min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

26 reviews

5.0

26 reviews

  • 이동준님의 프로필 이미지
    이동준

    Reviews 8

    Average Rating 5.0

    Edited

    5

    30% enrolled

    윈도우 시스템 프로그래밍을 공부하는 데 큰 도움이 되었습니다. 좋은 강의 감사합니다.

    • 좋은 평가와 피드백 고맙습니다. 꼭 완강하시고 하시는 일에 좋은 성과 거두시기 바랍니다. :)

  • Jimen님의 프로필 이미지
    Jimen

    Reviews 5

    Average Rating 4.8

    5

    100% enrolled

  • HK님의 프로필 이미지
    HK

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    어렴풋이 조각조각 나있던 지식들이 한데 엮여서 잘 정리될 수 있게 만들어준 강의였습니다.

    • 쉽지 않으셨을 텐데 완강하셨군요. 정말 수고하셨습니다. 분명히 잘 되실 겁니다. 고맙습니다. :)

  • Love C/C++님의 프로필 이미지
    Love C/C++

    Reviews 5

    Average Rating 5.0

    5

    100% enrolled

    컴퓨터소프트웨어학과 학생이지만 분야를 정하지 못해서 갈팡질팡 했습니다. 운영체제를 공부할 때도 널널한개발자님 영상을 보면서 도움을 많이 받았었는데 최근에도 큰 도움을 받았네요. C언어 시리즈를 전부 수강하고 C/C++의 재미를 느꼈고, 로드맵을 보니 시스템프로그래밍이라는 것이 있더군요..! 로드맵의 강의를 전부 결제하고 시스템프로그래밍 영상을 보는데 이거다...! 싶었습니다. 결국 시스템 프로그래밍의 매력에 빠져들었으며, 제프리 리처의 책도 구매하여 열심히 공부를 하고 있습니다. 영상을 보기 전에 살짝 살펴본 책은 정말 어려웠습니다. 하지만 이 강의를 만드신 이유에 부합하게 강의를 보면서 책을 보니 이해가 되기 시작하더군요 :) 이렇게나 좋은 강의를 이 가격에 아무때나, 어디에서도 볼 수 있게 해주셔서 정말 감사드립니다..! 열심히 공부하고 성장해서 실제로 만나뵙고 인사드릴 수 있는 날을 고대하겠습니다!

    • 저도 처음 제프리 리처의 책을 볼 때 고생을 좀 했던 기억이 있습니다. 다행히 이 강의가 방향을 잡는데 도움을 드린 것 같습니다. 로드맵 끝까지 잘 마무리하시고 좋은 결과로 이어질 수 있기를 응원하겠습니다. 좋은 평가와 피드백 고맙습니다. :)

  • logt님의 프로필 이미지
    logt

    Reviews 10

    Average Rating 5.0

    5

    100% enrolled

    선생님 강의 잘 봤습니다~! 바로 소켓 프로그래밍 강의로 갑니다. 또 리뷰 남길게요~! 새해 복 많이 받으십쇼 :)

    • 와우~! 새해를 맞아 열공모드로 달리시나보네요. 완강하느라 고생하셨습니다. 이 기세를 그대로 이어 소켓 프로그래밍에서도 좋은 성과 거두시기를 응원하겠습니다. 새해 복 많이 받으세요. :)

nullnull8537's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$84.70