목록컴퓨터 공학 (75)
Digital Recipe
WebDAV는 HTTP의 확장형 프로토콜로 네트워크 기반의 문서와 파일들을 컴퓨터 내 파일처럼 다루기 위해 확장된 기능을 제공하는 프로토콜이다. 예로서 Google Docs나 Dropbox에 저장된 데이터를 접근하고 관리하기 위해 사용될 수 있다. 이하 Wikipedia에 적힌 설명이다.----------------------------------------------------------------------------------------------------------------------------------------------WebDAV(Web Distributed Authoring and Versioning, 웹 분산 저작 및 버전 관리)는 하이퍼텍스트 전송 프로토콜(HTTP)의 확장으로, ..
PC에 전원이 공급되면 어떻게 하드 디스크에 저장되어 있는 운영체제가 실행될까 궁금한적이 있을 것이다. 이렇게 운영체제가 시작하기 위한 과정을 부트 스트랩(Boot Strap)이라고 하는데 이와 관련된 기술 용어로 BIOS, EFI, UEFI, MBR, GPT 등이 있으며 이 게시글을 통해 부트 스트랩 과정과 더불어 메인보드 펌웨어, 파티션, 파일시스템에 대해서 살펴보도록 한다. PC에 전원이 들어오면 메인보드에 내장된 펌웨어가 가장 먼저 실행된다. 그리고 메인보드 펌웨어 >> 부트로더 >> 운영체제 순으로 부팅을 위한 과정을 거치게 되며 각 단계별 기술과 역할을 살펴보도록 하겠다. 1. 메인보드 펌웨어(Mainboard Firmware) - BIOS, EFI, 그리고 UEFI 컴퓨터에 전원이 공급되면 ..
이 글은 카카오 테크에 게시된 개발자를 위한 SSD 연결입니다.아래 각 대제목에 관련 페이지가 연결 됩니다. Part 1: 목차 Part 2: SSD의 아키텍처와 벤치마킹 SSD의 구조1.1. NAND 플래시 메모리 셀1.2. SSD의 구성1.3. SSD의 생산 공정벤치마킹과 성능 메트릭2.1. 기본 벤치마킹2.2. 프리 컨디셔닝 (Pre-conditioning)2.3. 워크로드와 메트릭 Part 3: 페이지 & 블록 & FTL(Flash Translation Layer) 기본 오퍼레이션3.1. 읽기 & 쓰기 & 삭제3.2. 쓰기 예제3.3. Write amplification3.4. Wear levelingFTL (Flash Translation Layer)4.1. FTL의 필요성4.2. 논리적 블록 ..
SSL이란 무엇인가?보안적으로 안전한 네트워크 통신을 위해 통신 패킷을 암호화하거나 웹사이트의 신원 확인 기능이 있다. SSL의 발전 과정1. 통신 패킷의 암호화를 위해 DES, AES 암호화 기법이 사용되었다. (1) DES, AES 방식의 특징은 하나의 암호키('대칭키'라고 호칭한다.)를 이용하여 암호화/복호화를 수행하는 것이다. (2) 송신측과 수신측이 동일한 암호키를 보유하고 있어야 통신이 가능하다. 2. 암호키를 송/수신측에 전달하다가 중간에서 탈취당하면 암호화가 무의미해진다. 3. 대칭키 방식의 취약점을 개선하기 위해 비대칭키 방식의 RSA가 제안되었다. (1) 암호화 키('공개키'라고 한다.)와 복호화 키('개인키'라고 한다.)가 다르다. (2) 송신측에 나의 공개키를 전달한다. (탈취 당해..
인포테인먼트 시스템(AVN) 최근 자동차에는 인포테인먼트 시스템이 필수가 되었다.우리나라에서는 쉽게 AVN(Audio, Video, Navigation) 이라고 부르기도 한다. AVN의 역할은 점점 확대되고 있다.단순히 오디오, 비디오, 내비게이션을 다루는 멀티미디어 장치에서 차량의 기능 조작까지 확대되었다. 이런 AVN은 통신기능도 갖추었다. TPEG이라는 통신방식을 이용하여 데이터를 받기도 하고 실제 통신사 U-SIM을 통해서 통신하기도 한다. 이와 함께 소프트웨어의 발전도 이루어졌다. QNX, 윈드리버와 같은 회사에서 시스템 소프트웨어가 개발되기도 하고제품으로 QNX의 차량용OS, WindowsCE, 안드로이드 등이 쓰이고 있다. 이와 함께 Apple과 Google에서 각 자사의 iOS와 Andro..
평가 결과에 따른 신뢰성 분류법 어떤 것에 대한 평가를 수행한 결과를 신뢰성 측면에서 4가지 분류로 나눌 수 있다. 위 그림에서 보듯이 True/False와 Positive/Negative의 조합으로 이루어진다.어떤 결과에 대해서 TP(True Positive)라고 표현할 수 있다. 이 이야기는 Positive라는 결과를 예측했고 실제 결과가 Positive, 즉 True라는 의미가 된다. 정리해서 설명하면예측된 결과가 Positive냐 Negative냐 구분을 짓고, 그 예상된 결과와 실제 결과가 일치하느냐 불일치하느냐 판별하는 것이 True/False이다. 어떤 결과에 대해서 각 TP, TN, FP, FN에 대해 확률적으로 분류할 수 있고이를 통해 결과에 대한 신뢰성 여부를 살펴보게 된다. Writt..
시작에 앞서, 이 "컴퓨터 공학의 이해"는 주관적인 입장에서 쓰여진 글로써 잘못된 점, 다른 의견, 추가적 의견을 받습니다. 이 게시글은 제 경험 속의 "이해한 컴퓨터 공학"을 이야기로 풀었습니다. 컴퓨터 공학이란 "요청에 대해서 논리적인 연산을 하여 결과를 보여주는 장치에 대한 학문"이라고 표현 가능할 것 같다. 예를 들어, 시간의 흐름을 분(Min) 혹은 초(Second)라는 논리적인 개념으로 변경하여 컴퓨터에 넣었을 때 이를 연산(계산, 혹은 Computing)하여 사용자가 형태의 논리적 시간으로 결과를 보여준다면 컴퓨터 장치가 될 것이다. 이런 컴퓨터는 하드웨어에서 시작되었다. 하드웨어를 통해 입력 -> 처리 -> 결과 형태의 위 역할을 수행할 수 있었을 것이다. 계산기를 예를 들어 보자. 1단계..
BMS (Battery Management Systems) 최근 자동차 산업에서 전기차의 수요가 증가하고 있다.이와 더불어 전기차의 핵심 중 하나인 전기배터리 기술의 중요성도 나날이 늘어가고 있다. 이를 BMS(Battery Management Systems)이라고 호칭하고 있다. BMS의 가장 일반적인 목표 3가지는 아래와 같다.- 배터리를 손상으로부터 보호한다.- 배터리의 수명을 향상시킨다.- 어플리케이션의 요구에 따라 배터리의 상태를 유지한다. 자동차 분야의 BMS로 가면 요구사항은 더욱 다양해 진다. 이 부분은 참고자료 01의 Automotive BMS 부분을 참고하면 된다. 여기서 관점을 가지는 부분은 BMS에서의 소프트웨어의 역할이다.소프트웨어의 동작을 통해 배터리의 목표를 달성하고 안정적인 ..