일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹
- 이더리움
- AWS
- HTML
- TypeScript
- JavaScript
- 타입스크립트
- BFS
- VUE
- 쿠버네티스
- 솔리디티
- 백엔드
- next.js
- 블록체인
- 이슈
- kubernetes
- es6
- CSS
- react
- 가상화
- 프론트엔드
- 리액트
- 클라우드
- 알고리즘
- 컴퓨터공학
- 자바스크립트
- k8s
- docker
- 파이썬
- 백준
- Today
- Total
목록📖 컴퓨터공학 (6)
즐겁게, 코드
오늘은 메모리계의 날쎈돌이, 캐시 메모리의 역할과 원리를 간단히 요약해보도록 하겠습니다. ✅ 읽기 전에 알려드려요! 이 글에서는 L1 ~ L3 캐시 구조 등 하드웨어적인 동작 원리에 대해서는 다루지 않으며, 캐시의 지역성만을 다룰 예정입니다. 🙂 캐시 메모리란? 먼저 캐시 메모리 란 처리속도가 다른 두 장치간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리입니다. 만일 캐시가 존재하지 않는다면 RAM에서 데이터를 인출해오는 속도가 CPU가 태스크를 처리하는 속도보다 느리기 때문에 불필요하게 시간을 낭비해야 하지만, 실제로는 중간에 위치한 캐시 메모리가 둘 사이에서 데이터를 고속으로 전달해 줌으로써 속도 차이로 인한 병목을 어느정도 해결해 줄 수 있습니다. 그러나 캐시 메모리는 처리속도가 굉장히 빠른..
이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다. 목차 스케줄링 스케줄링의 목적 스케줄링 기준 및 단계 스케줄링 정책 1. 스케줄링 다중 프로그래밍에서는 시스템에 여러 프로세스가 존재하게 됩니다. 따라서 여러 프로세스를 효율적으로 관리하기 위해서는 자원을 현명하게 배분해야겠죠? 오늘 다룰 스케줄링이 바로 자원을 효율적으로 배분하기 위한 방법을 의미합니다. 스케줄링(자원 관리)의 종류 시간 분할 관리 하나의 자원을 여러 스레드들이 번갈아가며 사용 Ex. 프로세스 & 프로세스 스케줄링 공간 분할 관리 하나의 자원을 분할하여 동시에 사용 Ex. 메모리 & 메모리 스케줄링 2. 스케줄링의 목적 당연히 스케줄링의 목적은 시스템의 성능을 향상시키는 것입니다. 시스템의 성능을 판별하..
이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다. 목차 스레드의 개념 스레드의 구현 사용자 수준 스레드 (다대일 모델) 커널 수준 스레드 (다대다 모델) 혼합 스레드 1. 스레드의 개념 프로세스는 커널 위에서 실행되고 있는 작업인데요, 프로세스가 자원을 어떻게 배분할지 제어하는 친구가 바로 스레드입니다. 비유를 들어보자면 한 연구를 수행한다고 할 때, 프로세스는 연구실이 되고 스레드가 연구원이라고 생각하면 될 듯 합니다. (연구비가 연구실마다 배정되어 연구원들이 이를 나눠 사용하듯, 프로세스의 스레드들은 공동의 자원을 소모합니다.) 스레드는 보다 작은 프로세스라는 의미로 Light Weight Process(LWP) 라고 부르기도 하며, 프로세스 활용의 기본 단위가 됩니..
이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다. 목차 프로세스의 개념 PCB (Process Control Block) 프로세스의 상태 인터럽트 컨텍스트 스위칭 1. 프로세스의 개념 작업 (Job) / 프로그램 (Program) 실행할 프로그램 + 데이터 컴퓨터 시스템에 실행을 요청하기 전의 상태 프로세스 실행을 위해 시스템(커널)에 등록된 작업 시스템 성능 향상을 위해 커널에 의해 관리됨. ⇒ 작업(Job)을 요청해 커널에 등록되면 이를 프로세스라 함. 1. 1. 프로세스의 정의 실행중인 프로그램 (커널에 등록되고, 커널의 관리를 받는 작업) 각종 자원을 요청하고 할당받을 수 있는 객체 자원의 개념 커널의 관리 하에 프로세스에 할당/반납되는 수동적 객체 자원의 종류 ..
룸메한테서 오버로딩 문제 관련 질문을 받았다. float mul(float a) { return a * a; } double mul(double a) { return a * a; } 내용이 뭐냐면 실수형을 인자로 받는 두 함수가 오버로딩되었을 때, mul(3.0) 을 호출하면 과연 어떤 함수가 호출되냐는 질문이었다. 정말 재밌는 질문이어서 직접 코드를 짜봤는데, 그 결과 double 형으로 오버로딩된 함수가 호출되는 것을 확인할 수 있었다. public class main { public static void main(String[] args) { overload o = new overload(); o.mul(3.0); // double: 9.000000 } } public class overload {..
이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다. 목차 운영체제의 역할 운영체제의 구분 운영체제의 구조 운영체제의 기능 1. 운영체제의 역할 1. 운영체제는 유저가 하드웨어를 다룰 수 있는 인터페이스를 제공한다. GUI CUI EUCI (MP3 등 특수한 목적의 운영체제) 2. 운영체제는 하드웨어와 소프트웨어를 효율적으로 관리한다. 3. 운영체제는 *프로세스와 쓰레드를 관리한다. (* 프로세스 = 하나의 작업) 4. 운영체제는 시스템을 보호한다. 2. 운영체제의 구분 1. 동시 사용여부에 따라 (여러명이 "동시에" 사용할 수 있는가?) Single User System (단일 사용자 운영체제) Multi User System (다중 사용자 운영체제) 2. 동시 실행 프로..