
Data Structures and Algorithms Made Easy with Pictures (Basic Edition)
gamja5
₩43
입문 / Algorithm
4.9
(113)
In this course, you will learn about linear data structures and algorithms.
입문
Algorithm
운영체제의 개념
프로그램, 프로세스, 쓰레드
동기화
메모리
개발자의 필수 지식 운영체제를 배워서
뿌리 깊은 나무가 되어 봐요 🌳
주위에 기본기가 부족한 개발자가 어떤 것을 학습할지 몰라서 방황하는 것을 보면 항상 안타깝다고 생각했습니다. 시간의 여유도 없어 최신 기술을 따라가는 것도 벅차 보입니다. 최신 기술도 중요하지만, 컴퓨터 과학 분야에서는 기본기가 훨씬 더 중요합니다. 기본기만 잘 다져놓으면 화려하고 인기 있는 기술들은 손쉽게 배울 수 있거든요.
뿌리가 튼튼하면 어떠한 풍파도 버텨내는 나무처럼,
기본기가 튼실하다면 최신 유행이나 남들의 말에 흔들리지 않는 실력 있는 개발자가 될 수 있습니다!
이 강의의 특징 💡
✔️ 비전공자도 운영체제를 쉽게 배울 수 있도록 그림 중심의 설명이 많습니다.
✔️ 바쁜 직장인도 접근하기 쉽도록 핵심만 간결하게 설명합니다.
✔️ 예시 코드 설명을 이해하시려면 하나 이상의 프로그래밍에 대한 기초를 알고 있는 게 좋습니다.
대학생
제 프로그램이 컴퓨터에서 동작하는 원리가 궁금해요.
어려운 최신기술
최신 기술을 따라가기 힘들고, 배워도 뭔가 부족한 느낌이예요.
취준생/비전공자
입사 면접에서 프로세스, 스레드, 동기화, 메모리를 물어봐요.
호기심 왕
프로그램 성능을 어떻게 높이죠? 문제 해결 소스는 어떻게 생기나요?
모든 문제의 해결을 위해선 운영체제의 원리를 알아야 합니다. 운영체제의 원리를 알면 여러분이 만든 프로그램의 실행 과정을 알 수 있습니다. 복잡한 문제나 버그와 마주했을 때 해결할 힘이 생기고, 프로그래밍을 할 때 어떻게 해야 성능이 좋아지는지 알게 됩니다. 또 프로그래밍에 대한 확실한 주관이 생겨서 스스로의 로드맵도 그릴 수 있습니다. 기본기가 탄탄하다면 면접에서 관련 질문을 받았을 때도 잘 대답할 수 있겠죠? 개발자로서 큰 내공이 생기는 셈입니다.
✔️운영체제 들어가기
운영체제를 배우기 전에 운영체제가 왜 필요한지, 현대 운영체제가 이토록 복잡해진 이유는 무엇인지를 알아봅니다.
✔️프로세스와 스레드
프로그램과 프로세스의 차이가 무엇인지, 프로세스가 운영체제에서 어떻게 생성되고 종료되는지, 프로세스와 스레드의 차이는 무엇인지를 알아봅니다.
✔️CPU 스케줄링
운영체제가 어떻게 수많은 프로세스들을 관리하는지, 그러한 알고리즘 중에 어떠한 것들이 있는지 알아봅니다. 운영체제 개발자들이 굉장히 인간적이라는 것도 느낄 수 있습니다. 처음부터 굉장한 알고리즘은 없었거든요!
✔️프로세스 동기화
운영체제 개발자들이 심심해서 동기화라는 주제를 만들었을까요? 왜 동기화라는 문제가 발생했는지 알아보고 이를 해결하는 방법을 알아봅니다.
✔️데드락
에휴.. 데드락이란 것은 또 왜 생겼을까요? 운영체제 개발자들은 매번 문제에 직면했었습니다. 어떤 문제를 해결하면 전에 없던 또 다른 문제가 발생했었죠. 데드락도 이 중 하나인데요! 데드락이 발생하는 원인과 해결 방법을 알아봅니다.
✔️쉬어가기
지금까지 배운 내용의 정보 블록들이 정리가 안 될 수도 있으니까 한번 같이 조립을 해봅니다. 컴퓨터과학의 정보를 배울 때 여러 정보 블록을 하나씩 중요하게 아는 것도 중요하지만 전체적으로 어떻게 흘러가는지도 파악하는 것도 중요합니다!
✔️메모리
컴퓨터에는 여러 종류의 메모리가 있습니다. 왜 이렇게 많은 메모리가 필요한지, 그중에 물리 메모리(RAM)에 대해서 알아봅니다.
✔️가상 메모리
단순한 메모리로는 프로그램을 효율적으로 실행시키기 힘듭니다. 운영체제 개발자들이 왜 가상 메모리를 만들었는지, 가상 메모리를 만들면서 생긴 문제가 무엇인지 알아봅니다.
✔️입출력장치
수많은 입출력장치를 운영체제가 어떻게 다루는지 알아봅니다.
✔️파일 시스템
파일 시스템이 왜 필요하게 됐는지, 디렉토리는 또 왜 필요하게 됐는지를 알아보고 구조를 알아봅니다.
Q. 강의를 듣기 전 준비해야 할 것이 있나요?
적어도 1개 이상의 프로그래밍 언어를 할 줄 아셔야 합니다. 예시 코드는 C언어로 설명하지만 보통 10줄 이내 짧은 코드이고 설명도 자세히 해드리기 때문에 다른 어떠한 언어를 알고 계셔도 이해할 수 있습니다.
Q. 비전공자도 들을 수 있는 강의인가요?
비전공자를 위해 만든 강의입니다. 운영체제는 필수전공 과목이지만 많은 비전공자 개발자분들이 중요성과 시간을 투자하고 있지 않습니다. 그래서 비전공자도 이해하기 쉽게, 짧고 간결하게 만든 강의입니다.
Q. 왜 운영체제를 배워야 하나요?
운동선수가 운동을 잘하기 위한 조건은 무엇이 있을까요? 축구면 슈팅과 패스, 드리블 능력이 필요할 것이고 종합격투기 선수라면 타격, 그라운드 능력이 필요할 것입니다.
하지만 모든 운동선수는 기본 체력을 가지고 있어야 합니다. 기본 체력은 힘, 유연성, 심폐지구력 등 여러 가지가 있습니다.
개발자를 운동선수로 예를 들었는데 운동선수의 기본 체력은 개발자의 기본기와 같습니다. 개발자의 기본기라고 하면 여러 가지가 있을 수 있는데 운영체제가 그중 하나입니다. 모든 개발자가 갖추고 있어야 할 기본입니다.
학습 대상은
누구일까요?
운영체제의 원리를 알고 싶으신 분
실력있는 개발자가 되고 싶으신 분
선수 지식,
필요할까요?
1개 이상의 프로그래밍 언어
7,173
명
수강생
407
개
수강평
308
개
답변
4.9
점
강의 평점
8
개
강의
저는 인프런에서 컴퓨터 과학(CS) 강의를 준비하고 있는 감자라고 합니다! 😄
학생과 주니어 개발자들이 AI 시대에 단순히 AI에 밀려나지 않고, 기본기를 탄탄히 다져 AI를 능숙히 활용하는 개발자로 성장할 수 있도록 돕는 것을 목표로 합니다.
전체
44개 ∙ (3시간 5분)
1. 운영체제 개요
02:44
2. 운영체제의 역사
07:52
3. 운영체제의 구조
03:02
4. 컴퓨터 하드웨어와 구조
02:58
5. 컴퓨터의 부팅과정
01:04
6. 인터럽트
01:37
7. 프로그램과 프로세스
04:21
8. 멀티프로그래밍과 멀티프로세싱
01:56
9. PCB
02:16
10. 프로세스 상태
03:01
11. 컨텍스트 스위칭
02:24
12. 프로세스 생성과 종료
05:12
13. 쓰레드
04:43
14. CPU스케줄링 개요
01:57
15. 다중큐
02:32
16. 스케줄링 목표
03:03
17. FIFO
05:18
18. SJF
02:07
19. RR
05:58
20. MLFQ
07:15
전체
161개
4.9
161개의 수강평
수강평 8
∙
평균 평점 5.0
5
Wow... the communication skills are the best.. I am one of those who think that communication skills are important for teachers, instructors, professors... In terms of communication skills, I think this is probably number 1 out of all Inflearn lectures. Seriously... I am amazed at how the operating system class that I used to take stiffly as a college student is explained in such a way that it is easy to understand. It is a lecture that even elementary school upper grades and above can understand.... I want to take Gamja's other lectures too... Thank you so much for creating such a great lecture....
Wow~ Thank you so much~ I'm embarrassed ㅎㅎ There are many things I lack, but I will work harder to make good lectures! I plan to make more lectures that can build the basics in the future. If a new lecture is opened, I hope Hahahahautja will take it~ㅎㅎ Thank you!
수강평 9
∙
평균 평점 4.7
5
I think that being able to explain difficult and complex content concisely is a skill. From this perspective, this lecture is truly the best lecture. I can feel the inner strength of the person who created the lecture. I think that not only non-majors but also majors will be able to understand much more easily and deeply if they take this class once before learning about operating systems. I had a lot of questions about operating systems, but it was greatly resolved. I highly recommend it.
I'm so happy that you think so highly of me, even though I have many shortcomings. Thank you, MovingYM!
수강평 4
∙
평균 평점 4.5
5
I studied the operating system book but got stuck every time.. I ended up going around and around and came here. After going over it twice, I got a certain understanding^^ Did you record the voice yourself? It's so fun. I recommended it to a friend! After listening to this, I gained confidence and am solving operating system problems with an app called 'Coding Quiz' to check the operating system once more^^ Thank you!
Yes, it's not enough, but I recorded it with all my heart ㅎㅎ I recorded the character voices that appear in the middle by paying for a TTS service! Thank you for recommending it because it's fun!! I think you'll conquer it quickly since you're solving the problems diligently and checking the kills I think you'll become a skilled developer in no time. I'm rooting for you, fighting!!
수강평 7
∙
평균 평점 5.0
5
The lecture delivery is crazy! The voice is easy to listen to and the situational drama is fun so I'm listening without thinking. It's a lecture that's easy to listen to without any burden. I listened to this and immediately paid for Gamja's data structureㅋㅋㅋ I can't believe I can understand the operating system that I had to approach with difficulty by memorization so easily!!!!!! It's totally awesome. If there's anyone around me who's studying operating systems, I'll definitely recommend this lecture I'm ready to pay so please hurry up and release another lecture~~>< Gamja is the best!!ㅎㅎㅎ
Hello hjin! I'm so happy that you enjoyed it without any pressure. You even took the data structure class! I have to make other classes fun and satisfy hjin. ㅎㅎ I will work hard to make other classes easy and fun. Thank you!!
수강평 6
∙
평균 평점 5.0
5
I think it's really easy to understand and well-communicated because it explains the core contents of the operating system simply and with appropriate examples! It's really helpful for studying the basics of the operating system.
I'm glad it was helpful!! Thank you, Shin Jun-seop! Haha
₩77,000