일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프로그래머스
- stl
- UE_LOG
- UELOG
- 람다사용정렬
- 선택정렬
- moreeffectiveC++
- enumasByue
- C++
- 스마트포인터
- unorder_map
- 언리얼엔진구조체
- 알고리즘
- 람다
- UML관련
- 델리게이트
- 언리얼가비지컬렉터
- dataasset
- UE4 커스텀로그
- 애셋로드
- 데이터애셋
- 크리티컬섹션
- C++최적화
- map
- BFS
- 강참조
- 정렬알고리즘
- 약참조
- 자료구조
- 정렬
- Today
- Total
목록CS (7)
기억을 위한 기록들
절차적 함수호출 지원 CPU모델 메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역입니다. 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸합니다. 함수가 호출되면 스택에는 함수의 매개변수, 호출이 끝난 뒤 돌아갈 반환 주소값, 함수에서 선언된 지역 변수 등이 저장됩니다. 이렇게 스택 영역에 차례대로 저장되는 함수의 호출 정보를 스택 프레임(stack frame)이라고 합니다. 이러한 스택 프레임 덕분에 함수의 호출이 모두 끝난 뒤에, 해당 함수가 호출되기 이전 상태로 되돌아갈 수 있습니다. 참고 : https://www.tcpschool.com/c/c_memory_stackframe sp 레지스터와 fp 레지스터 sp 레지스터의 백업을 위..
해당 글은 '뇌를 자극하는 윈도우즈 시스템 프로그래밍-윤성우 저'를 기반하여 해당 인터넷 무료강의를 참고하여 작성되었습니다. 파트 1은 하드웨어적인 측면에서 바라보며 이해를 위한 반면 파트 2는 운영체제 관섬에서 프로세스가 무엇인지, 프로세스를 관리하는 스케쥴러의 동작하는 원리를 설명해 준다. 책에서는 컴퓨터 구조에 대한 이야기, 프로세스의 생성과 소멸, 커널 오브젝트와 오브젝트 핸들, 프로세스 간 통신(IPC), 스케줄링 알고리즘과 우선순위 등으로 하위 파트로 나누어져 있고, 그중 요약하여 해당 글을 작성할 것이다. 컴퓨터를 디자인한다? 프로그래머의 관점으로는 컴퓨터 구조를 잘 아는 프로그래머도 컴퓨터 디자인에 참여-> 컴퓨터 디자인은 레지스터와 명령어 디자인 레지스터는 특별한 목적이 있는 저장 장치라..
해당 글은 '뇌를 자극하는 윈도우즈 시스템 프로그래밍-윤성우 저'를 기반하여 해당 인터넷 무료강의를 참고하여 작성되었습니다. 시스템 프로그래밍이란? 범위는 하드 웨어 + 운영체제 컴퓨터 시스템을 활용하는 소프트웨어 개발 Windows 운영체제 자체의 기능을 활용하는 프로그래밍 응용 소프트웨어 개발과의 차이점은 시스템 프로그래밍은 모든 응용 프로그램에 포함되는 요소 컴퓨터 시스템의 주요 구성요소 컴퓨터 하드웨어 구성 컴퓨터 하드웨어의 구성크게 3가지 1. CPU : 중앙처리 장치, 2. 메인메모리 : "컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역 3. 입, 출력 버스 : 컴퓨터 구성요소의 데이터를 주고받기 위한 경로 어드레스 버스, 데이터 버스, 컨트롤 버스 세 가지로 구분 CPU에 대한 이해 ..
동기적(Synchronous) 어떤 작업을 요청했을 때 그 작업이 종료될때 까지 기다린 후 다음 작업을 수행하는 방식 비동기적(Asynchronous) 어떤 작업을 요청했을 때 그 작업이 종료될때 까지 기다리지 않고 다른 작업을 하고 있다가, 요청했던 작업이 종료되면 그에 대한 추가 작업을 수행하는 방식 https://velog.io/@emawlrdl/%EB%8F%99%EA%B8%B0%EC%A0%81-vs-%EB%B9%84%EB%8F%99%EA%B8%B0%EC%A0%81
- 크리티컬 섹션(임계 구역/치명적 영역) : 운영체제가 지원하는 동기화 방법. 공유자원의 독점을 보장. 스레드 동기화는 2가지 방법이 있다. - 유저모드 동기화 : 커널 기능 사용 x -> 크리티컬 섹션 - 커널모드 동기화 : 커널로 전환 후 행함.(유저 모드보다 많은 기능) ->뮤 텍스, 세마포어, 이벤트 등 기능 : 유저모드 커널 모드 유저 모드 특징 : 커널 객체 사용 x/서로 다른 프로세스 간 접근 불가/내부적 인터락 함수 사용/ 3개 비교(크리티컬 섹션/ 뮤텍스/ 세마포어) : 1. 크리티컬 섹션은 커널 객체가 아니라 가볍고 빠르다. 한 프로세스 내의 스레드 사이에서만 동기화 가능. 보통의 경우 가볍고 쉽게 쓸 수 있는 동기화 객체. 2. 뮤텍스는 커널 객체 사용. 크리티컬 섹션보다 무겁다. ..
www.acmicpc.net/blog/view/56 입력 속도 비교 여러가지 언어와 입력 방법을 이용해서 시간이 얼마나 걸리는지 비교해 보았습니다. 방법: 첫째 줄에 정수의 개수 N (= 10,000,000), 둘째 줄부터 N개의 줄에 한 개의 자연수(10,000 이하)가 적힌 파일 www.acmicpc.net www.acmicpc.net/blog/view/57 출력 속도 비교 여러가지 언어와 출력 방법을 이용해서 시간이 얼마나 걸리는지 비교해 보았습니다. 방법: 총 N개의 줄에 1부터 10,000,000까지의 자연수를 한 줄에 하나씩 출력하는 시간을 측정. 10번 측정해서 평 www.acmicpc.net
코드영역(실행 할 프로그램을 올려 놓는 공간) - 코드를 저장하는 공간 - 실행 할 프로그램의 코드가 저장 되는 공간 - cpu는 코드영역에 저장된 명령문들을 하나씩 가져와서 실행한다. 데이터 영역(정적메모리) - 프로그램이 종료 될떄까지 지워지지않을 데이터 저장. - 대표적으로 전역변수와 static 변수 - 상수도 저장 스택영역(자동 메모리) - 잠깐 사용하고 삭제하는 데이터 저장(지역변수, 매개변수) (=영역(scope) 안에서만 존재한다. 그래서 자동 메모리라고도 불림) - 해당 객체가 정의 된 블록(스코프)를 벗어날때 소멸 - 함수의 호출하는 위치도 저장. - 힙보다 빠름 힙 영역(자유 저장소) - 가비지 컬렉터가 없으면 프로그래머가 직접 관리(할당/해제)해줘야함.(자유의 반대는 책임) - 스택..