1. 운영체제란? 목적? 분류? 2. 인터럽트란? 컴퓨터 시스템 동작원리로 알아보자. 3. 하드웨어, 메모리 및 메모리 보안 방법? 4. 프로그램의 구조, 실행 시 작동 과정? 5. 프로세스란? 6가지 상태? PCB? 6. 스레드, 멀티스레드란? 프로세스와의 차이? 7. CPU 스케줄링? 8. ''업데이트 예정'' 1. 인터럽트를 활용한 운영체제의 하드웨어 및 소프트웨어 관리 - 운영체제는 cpu의 인터럽트(Interrupt) 기능을 활용하여 프로그램들의 cpu 사용 순서 및 I/O 장치 사용을 관리한다. 인터럽트 기능은 cpu가 메모리를 읽으며 Instruction을 실행하는 행위를 방해할 수 있는 유일한 기능이다. cpu는 Instruction을 한줄 실행, 자신의 인터럽트 공간을 한번 살펴보기를 반..
동적 타입 Javascript는 느슨한 타입, 즉 타입과 변수가 느슨하게 묶인 동적(dynamic) 언어입니다. 플레이를 누르면 컴퓨터가 이 파일을 실행할 수 있을지 미리 아는 것이 아닌(컴파일 시) 코드를 하나 하나 실행하면서(런타임) 타입과 변수가 묶이는 방식입니다. 두 종류의 자바스크립트 타입 - 자바스크립트의 타입은 크게 두가지로 나뉩니다. Primitive 값과 Object(객체)값. - Primitive 값은 말 그대로 원시 값이기 때문에 변할 수가 없습니다. 얘네들이 원본 그 자체가 되는 것들이죠. - Object 값은 Array 등 기타 모든 것으로 보입니다. 이들은 Primitive 값을 묶는 자료구조라고 볼 수도 있겠군요. Primitive 값에 대해 먼저 알아보죠 Primitive(원..
오늘 세가지 기쁨이 있었다. 첫번째, 소프트웨어 프로그램 개발은 아주 재밌다. 또한 재밌을 것이다. 두번째, 장기적인 관점을 보며 쌓아왔던 일명 '가지치기' 사고방식이 나에게 큰 도움이 된다. 세번째, 내가 상상하는 것들을 만들 수 있는 사람이 됐다. 또한 될 것 같다. 첫번째 소프트웨어 개발이 아주 재밌고 재밌을 것 같다. 뭔가 잘 안맞으면서도 미묘하게 맞는 이 말은 오늘 알고리즘 공부를 하며 깨달았다. 나는 문제 해결을 아주 좋아하고 또한 효율적으로 문제가 해결되는 상황을 아주 좋아한다. 알고리즘의 시간 복잡도를 낮추는게 아주 재밌었다. 문제를 하나 더 또하나 더 풀고 싶은 감정이 들었다. 근데 이게 왜 그렇게 대단한 감정이냐고 누군가 물을 수 있다. 나는 문제 해결을 잘 못했고 알고리즘은 매우 못 ..