목록분류 전체보기 (127)
Written by coh at home

올해 초 혼공컴운 책을 구매하고 바쁘단 핑계로 앞에 조금 읽고 집에 두고 있었습니다.그러던 도중 기회가 닿아서 12기 학습단에 참여할 수 있게 되었고 결과적으로 6주만에!! 이 두꺼운 책을 다 읽을 수 있게 되었습니다!! 스터디같은 강제성이 부여가 되면 좀더 의욕적으로 하게 되나봐요!! 6주 동안 꾸준히 읽는 것도 쉬운 일은 아니지만 매번 숙제를 인증하면 족장님의 그 응원댓글!채찍은 없고 당근만 있는 그 댓글이 의외로 큰 힘이 되어서 학습을 계속 진행할 수 있었습니다. 흙흙.. 정말 감사했습니다.당근만 먹는 거 맛있더라구요..인증을 위한 독서 벼락치기도 자주 하곤 했지만벼락치기 하지 말자는 족장님의 말씀을 보고 아침에 조금씩 읽어나가는 습관을 들였습니다.생각보다 아침에 읽는 것도 할만 하더라구요...! ..
14 가상메모리active : mem할당된 상태suspended : mem할당 xSwap이란오랫동안 사용되지 않은 프로세스나 입출력자원을 대기하는 프로세스의 메모리 할당을 빼는 것.이때 swap된 프로세스들은 보조기억장치의 swap영역에 저장된다.suspended ↔ swap-outresume ↔ swap-infree -h(Iterm2) top14-1 연속메모리연속적인 메모리 공간에 프로세스들을 할당하는 것.메모리를 할당하는 방식은 3가지가 있다.최초적합 : 순차적으로 빈 공간을 탐색하며 적재최적적합 : 모든 공간을 탐색 후 적재 가능 공간 중 가장 작은 공간에 적재최악적합 : 모든 공간을 탐색 후 적재 가능 공간 중 가장 큰 공간에 적재외부 단편화 (External Fragmentation)연속 메모리..

12 동기화12-1 동기화 개요동기화란 프로세스의(또는 스레드) 실행순서제어 또는 상호배제를 통해 올바른 실행을 의미한다.상호배제공유자원을 동시에 이용하지 못하게 하는 것.→공유자원의 종류전역변수파일입출력장치보조기억장치임계구역공유자원을 접근하는 코드 영역. 보통 공유자원을 읽기만 하면 문제가 되지 않지만 수정을 하는 순간 문제가 발생한다.레이스컨디션공유자원에 대한 상호배제가 이루어지지 않은 상태. 데이터레이스라고도 한다.--- C언어total++;--- Assemblyr1 = total;r1 = r1 + 1;total = r1;고급언어는 여러줄의 저급언어(기계어인 명령어)로 변환될 수 있으며 저급언어에서 context switching이 일어나므로 해당 코드가 온전히 실행될 수 있도록 도와주어야한다.--..
코테 준비를 하면서 문제를 푸는데 계속 에러가 나고 있었다. 나는 로직 분명 개잘짰는데 왜 에러가 날까..?문제가 된 부분ArrayList v = new ArrayList();for i = 0 ... i = n: v.add(1000);for i = 0... i = n: for j = i + 1 ... j = n: if (v.get(i) != v.get(j) continue;Integer를 비교하는 부분에서 자동으로 언박싱이 된다고 생각했는데 그게 아니었던 것이어따...객체끼리의 비교이므로 주소를 비교하는 로직이 된 것이었다... ㅜㅜ내 1시간 돌려내..언박싱이 되기 위해서는원시타입과 비교가 되어야 했던 것...!원시타입 그래서 저 문제를 해결하기 위해서는equ..

8장 입출력장치8-1 장치컨트롤러와 장치드라이버등장배경 : 각 입출력장치 별 데이터 전송 형식이나 속도(전송률)이 다름.→ 장치 컨트롤러를 통해 이런 문제를 해결하자장치컨트롤러CPU와 입출력장치 통신중개와 오류검출 → 데이터 전송 형식 맞춰줌데이터 버퍼 → 전송률을 맞춰줌장치 컨트롤러는 세 개의 레지스터를 갖는다.데이터레지스터 → 버퍼역할상태레지스터 → 상태정보제어레지스터 → 수행할 제어정보와 명령 저장장치드라이버장치컨트롤러를 제어하는 프로그램. 즉, 장치컨트롤러가 하드웨어고 장치드라이버는 소프트웨어.8-2 다양한 입출력 방법장치컨트롤러와 CPU가 데이터를 주고받는 방식. 총 세가지 방식을 학습. 프로그램입출력, 인터럽트 기반 입출력, DMA 입출력.프로그램 입출력프로그램 명령어 중 입출력 함수를 만나면..
6장 메모리와 캐시메모리6-1 RAM(Random Access Memory): volatile memory. ↔ 보조기억장치(non-volatile memory)RAM 은 실행할 프로그램을 저장하는 역할이다. 따라서 실행할 프로그램이 많다면 램의 크기는 클수록 좋다.렘의 종류DRAM(Dynamic) : 우리가 아는 RAM. 시간이 지나면 저장된 데이터 사라짐. 소비전력 낮고, 저렴하고 집적도가 높다.SRAM(Static) : 시간이 지나도 사라지지 않는다. 속도도 빠르다. 집적도 낮고, 소비전력 크고, 가격비싸다. → 캐시메모리로 사용.SDRAM(Synchronous) : 클럭마다 CPU와 정보를 주고 받을 수 있는 RAMDDR SDRAM(Double Date Rate) : 최근 사용되는 RAM. 대역폭..
4장 CPU작동원리4-1 ALU & 제어유닛ReviewCPU = ALU + 제어유닛 + 레지스터 명령어를 읽어들이고 해석하고 실행하는 장치.ALU : 연산수행제어유닛 : 명령어 해석, 제어신호레지스터 : 저장공간ALUInput : 연산자(제어신호), 피연산자(레지스터)Output : 연산결과(레지스터), 플레그(레지스터)Flag :오버플로우, 제로, 부호, 캐리제어유닛 : 명령어 해석, 제어신호 발생Input : 클럭, 플레그, 명령어, 제어신호 ← 제어버스Output : 제어신호CPU내부 : ALU 연산, 레지스터(명령어, 데이터)CPU외부 → 제어버스: 메모리, 입출력장치(보조기억장치 etc)4-2 레지스터8가지 레지스터프로그램 카운터 : 다음 읽을 명령어 주소 저장.명령어 레지스터 : 읽어온 명령어..

1장 인트로컴퓨터 구조를 배우는 이유에러 발생 시 근본적인 원인을 해결장비의 트레이드 오프를 계산무엇을 학습하는가컴퓨터의 7요소 : 데이터, 명령어, CPU, 메모리, 보조메모리, 입출력장치, 시스템버스프로그램 = 데이터와 명령어의 집합메모리 : 실행중인 프로그램의 데이터와 명령어를 저장CPU : 1.ALU(연산) 2.제어유닛(명령어 해석 → 메모리 읽기 / 쓰기 요청) 3.레지스터(임시 저장공간)보조기억장치 : 비휘발성 메모리.입출력장치 : 컴퓨터 외부의 장치(키보드, 마우스, 모니터)시스템 버스 : 1.데이터버스 2.주소버스 3.제어버스2장 데이터2-1 이진법비트: 0또는 1을 갖는 가장 작은 정보 단위바이트: 킬로, 메가, 테라, 등등 데이터의 크기 단위2의 보수: 1’s complement → +..