일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CS지식
- 앱 개발
- 안드로이드 디자인 패턴
- 데이터베이스
- cs
- 디자인패턴
- 액티비티
- 디자인 패턴
- 운영체제
- 앱
- React
- 개발
- MVVM
- reactnative
- 앱개발
- OS
- 스레드
- github
- Database
- 프로세스
- 코틀린
- 메모리
- Operating System
- Android
- 리액트
- Kotlin
- 안드로이드
- db
- 안드로이드 개발
- 리액트네이티브
- Today
- Total
목록cs (13)
Tech Log
메모리에 프로그램을 할당할 때는 시작 메모리 위치, 메모리의 할당 크기를 기반으로 한다. 할당 방식은 연속 할당과 불연속 할당으로 나뉜다. 연속 할당 메모리에 연속적으로 공간을 할당하는 것이다. 프로세스를 순차적으로 공간에 할당한다. 연속 할당은 고정 분할 방식과 가변 분할 방식으로 나뉜다. 고정 분할 방식(fixed partition allocation) 메모리를 미리 나누어 관리하는 방식. 큰 프로세스가 메모리에 올라오면 여러 조각으로 나누어서 배치한다. 장점 : 메모리를 일정한 크기로 나누어 관리하므로 메모리 관리가 수월하다(가변 분할 방식의 메모리 통합같은 부가적인 작업을 할 필요가 없다) 단점 : 메모리가 미리 나뉘어 있으므로 융통성이 없다. 또한 내부 단편화가 발생한다. *내부 단편화(inte..
가상 메모리(virtual memory) 메모리 관리 기법 중 하나로, 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 사용자들에게 매우 큰 메모리로 보이게 하는 것. 가상적으로 주어진 주소를 가상 주소(logical address) 실제 메모리 상에 있는 주소를 실제 주소(physical address) 가상 주소는 메모리관리장치(MMU)에 의해 실제 주소로 변환 이를 통해 사용자는 실제 주소를 의식할 필요 없이 프로그램을 구축할 수 있게 된다. 가상 메모리는 가상 주소와 실제 주소가 매핑되어 있으며, 프로세스의 주소 정보가 들어 있는 페이지 테이블로 관리된다. 이때 속도 향상을 위해 TLB를 사용한다. *TLB : 메모리와 CPU 사이에 있는 주소 변환을 위한 캐시. 페이지 테이블에 있는 리스트..
메모리 계층 휘발성 메모리 레지스터 : CPU 안에 있는 작은 메모리, 속도 가장 빠름, 기억 용량이 가장 적다 캐시 : L1, L2 캐시를 지칭하나 L3 캐시도 있다. 속도 빠름, 기억 용량이 적다 주기억장치 : RAM을 가리킨다. 속도 보통, 기억 용량이 보통. 하드디스크로부터 일정량의 데이터를 복사해서 임시 저장하고 이를 필요할 때마다 CPU에 빠르게 전달하는 역할 레지스터 CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 저장장치. CPU 내에 있으므로 가장 빠르다. 캐시 메모리와 CPU 간의 속도 차이를 완화하기 위해 메모리의 데이터를 미리 가져와 저장해두는 임시 장소. 필요한 데이터를 모아 한꺼번에 처리하는 버퍼의 일종. CPU가 앞으로 사용할 것으로 예상되는 데이터를 미리 가져다..
운영체제 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스. 한정된 메모리나 시스템 자원을 효율적으로 분배하는 역할. 예) PC 운영체제(Mac OS, Windows, 유닉스, 리눅스 등), 모바일 운영체제(iOS, 안드로이드 등) *운영체제와 유사하나 소프트웨어를 추가로 설치할 수 없는 것이 펌웨어(Firmware). 펌웨어는 특정 하드웨어에 포함된 소프트웨어를 말한다. 운영체제의 역할 CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환 관리 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼마큼 할당할지를 관리 디스크 파일 관리 : 디스크 파일의 보관 방법을 관리 I/O 디바이스 관리 : I/O 디바이스들(마우스, 키보드 등)과 컴..
프로그래머스에서 문제를 풀다가 해쉬 개념과 관련된 문제를 풀었다. 해쉬 관련 문제 풀이를 블로그에 올렸으니 해쉬 테이블에 대해서도 블로깅해봐야 할 것 같아서 정리해보았다. 1. Hash란 Hash하는 것, 즉 Hahsing은 산술적인 연산을 이용하여 키가 있는 위치를 계산하여 바로 찾아가는 계산 검색 방식이다. 키 값을 비교하여 찾는 검색 방법이 아니다. 이 과정에서 쓰이는 함수와 테이블이 있다. 각각 Hash Function, Hash Table이라 불린다. 해쉬 함수(Hash Function)는 키 값을 원소 위치로 변환한다. 해쉬 테이블(Hash Table)은 해쉬 함수에 의해 계산된 주소 위치에 항목을 저장한 표다. 이와 같은 설명을 그림과 같이 표현하면 다음과 같다. 그림과 같이 키 값에 대해서..