목록분류 전체보기 (154)
LISTORY
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 YouTube 강의 정리이다. 이번 시간에 정리할 내용을 호출 규약과 실행의 이동 부분이다. YouTube 주소 호출 규약과 실행의 이동 호출 규약과 실행의 이동 이번 장(10장)에선 계속 함수호출이 CPU 내부적으로 어떻게 전개되는지 다루고 있다. 저번 시간과 그 전 시간에 매개 변수 전달, 지역변수 선언 대해 설명하였고, 이번 시간에는 실행의 이동에 대해 설명하겠다. 함수 호출되는 순간, 실행되는 코드가 다른 함수로 이동한다. 이게 어떻게 가능한걸까? 실행의 이동의 키는 바로 프로그램 카운터(PC)이다. PC는 다음 명령어의 주소값을 가지고 있다. 오른쪽 그림을 보자. 명령어가 코드 영역에 쌓여 있다. 이 명령어들을 실행하기 위해선 하나씩 CPU 내부..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 정리이다. 이번에 정리할 내용은 함수 호출 인자의 전달과 PUSH&POP 명령어 디자인이다. ⊙ YouTube 강의 주소 ⊙ ☞ 함수 호출 인자의 전달과 PUSH&POP 명령어 디자인 함수 호출 인자의 전달과 PUSH&POP 명령어 디자인 저번시간에 말했듯이, 함수 호출을 생각하면 떠오르는 세가지가 있다. 1. 인자 전달2. 지역변수3. 실행의 이동 이번에 공부할 내용은 인자 전달 부분이다. 전달되는 인자도 지역변수와 마찬가지로 스택에 쌓는다. 지역변수와 라이프 사이클이 일치한다. ⊙ 함수 호출 인자의 전달 방식 ※ 현재 그림을 보면 인자가 순서대로 스택에 들어가지만, 실제로는 역순으로 들어간다. (8,7) 여기서 해야하는 일은 다음과 같다...
뇌를 자극한는 윈도우즈 시스템 프로그래밍 책 관련 유트브 강의 내용 정리이다. 오늘 정리할 내용은 절차적 함수 호출 지원 CPU 모델 부분이다. ⊙ YouTube 주소 ⊙ ☞ 절차적 함수 호출 지원 CPU 모델 절차적 함수 호출 지원 CPU 모델 이번 시간에 공부할 내용은 함수 호출에 관련된 이야기다. 함수 호출을 실행할때 CPU가 내부적으로 함수 호출을 어떻게 처리할까? 일단 함수 호출을 하면 떠오르는 것들이 있다. ⊙ 함수호출 하면 떠오르는 것?1. 인자 전달2. 지역 변수3. 실행의 이동(A함수 -> B함수) 이 강의에서는 지역변수가 내부적으로 어떻게 처리되는지 정리할 것이다. ⊙ 스택 프레임(Stack Frame)이란? 메인함수에서 변수 두개 선언 및 함수를 호출하였다. 변수 a,b는 메인에서 선..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 YouTube 강의 내용 정리이다. 이번 시간에 정리할 내용은 Windows 프로세스 우선순위이다. YouTube 주소 Windows 프로세스 우선순위 Windows 프로세스 우선순위 ⊙ 스케줄링 진행 시점 간단히 설명하면 다음과 같은 시점에서 스케줄링 진행된다. 1. 매 타임 슬라이스(Time Slice)마다: 타임 슬라이스 사이에서도 컨텍스트 스위칭은 발생할 수 있는가? 2. 프로세스가 생성 및 소멸될 때마다: 생성되면 신고하기 위해서. 소멸될 때는 무슨 이유로? 3. 현재 실행중인 프로세스가 블로킹 상태에 놓일 때 마다 각각의 경우에 대해 설명하겠다. * 설명하기 전에 먼저 알아두어야 할 것 스케줄러 또한 프로세스이다. 많이 동작하면 성능에 좋지 않..
뇌를 자극하는 윈도우즈 시스템 프로그래밍 책 관련 유투브 강의 정리이다. 이번에 정리할 내용은 스케줄링 알고리즘과 우선순위 부분이다. ⊙ YouTube 주소 ⊙ ☞ 스케줄링 알고리즘과 우선순위 스케줄링 알고리즘과 우선순위 프로세스의 스케줄링 ⊙ 일반 OS와 리얼타임(Real Time) OS의 차이점 이 내용을 다루는 이유는 이 책이 OS에 관련된 책이기 대문이다. 중요한 내용이지만, 스케줄러와 연관되어 있는 내용이기에 지금 설명된다고 한다. 일반 OS와 리얼타임 OS를 결정하는 요인은 스케줄러가 어떻게 동작하냐에 따라 결정된다. 그렇다면 스케줄러는 각각의 OS에서 어떻게 스케줄링을 할까? 일단, Real Time OS 의 경우, 응답성이 좋다. 예를 들어보자. 우리 컴퓨터를 사용 시, 익스플로러도 여러 ..