본문 바로가기

전체 글

(13)
혼공학습단 13기 마무리 길지만 짧은 6주간의 장대한 프로젝트를 오늘로 마침표 찍게 되었다. 먼저, 참여를 통해 생소한 컴퓨터 구조 및 운영체제에 대하여 기초적인 지식을 쌓게 되었다.컴퓨터 구조 및 운영체제에 대해서 레지스터라던지, 개선을 위한 알고리즘이라던지 등 막연하게 어떠한 물리적인 구조에 대한 내용일 줄 알았지만 수많은 데이터 교환을 어떻게 하면 빠르고 정확하게 할 지를 하드웨어와 소프트웨어(운영체제) 적으로 고민하는 학문이라는 것을 알게 되었다. 참여하기 전 목표로 스스로 공부하는 학습 환경 만들기와 매번 같은 일상에서 활력을 얻을 수 있는 기회를 얻었으면 했는데 계획했던 두 가지 모두 이룬 것 같다. 현재 상황에서 달라진 건 학습단을 참여한 것 밖에 없지만, 학습단에 참여하면서 부족한 영어에 대해 별개로 조금씩 공부하..
혼공학습단 13기- 6주차 마지막 주차!   14.  가상 메모리14.1.  연속 메모리 할당- 이전까지는 메모리 내에서 프로세스들이 서로의 크기가 겹치지 않도록 연속적으로 배치되는 상황을 가정함→  연속 메모리 할당 방식 ✔ 프로세스들을 메모리에 연속적으로 할당할 때 무엇을 고려해야 하는지와 어떤 잠재적 문제가 있는지 확인 14.1.1. 스와핑- 메모리에 적재된 프로세스들 중에 현재 실행되지 않는 프로세스가 있을 수 있음- 미 실행 프로세스들을 임시로 보조기억장치 영역으로 이동 → 메모리상의 빈 공간에 또 다른 프로세스를 적재 후 실행을 스와핑 이라고함- 이때 프로세스들이 임시로 보조기억장치로 이동되는 영역을 스왑영역 이라고 함- 프로세스들이 스왑영역으로 이동되는 것을 스왑아웃, 스왑영역에서 다시 메모리로 옮겨지는 것을 스왑인이..
혼공학습단 13기- 5주차 @ 4주차 Keyword  프로그램 실행에 필요한 요소를 시스템 자원 또는 자원이라고 함운영체제는 메모리 내 커널영역에 적재됨운영체제는 프로세스들이 사용할 자원에 접근하고 조작하는 것으로 필요한 자원을 할당함 운영체제가 프로세스에 대해 CPU 자원을 배분하는 것을 CPU 스케줄링이라 하고, 다양한 알고리즘들이 적용되지만 그중 다단계 피드백 큐 스케줄링이 가장 일반적임12. 프로세스 동기화12.1. 동기화란- 동시다발적으로 협력하여 실행되는 프로세스들은 실행 순서와 자원의 일관성을 보장하기 위해 동기화 되어야함 12.1.1. 동기화의 의미- 동시다발적으로 실행되는 많은 프로세스는 서로 데이터를 주고 받으며, 협력하며 실행될 수 있음- 협력적으로 실행되는 프로세스들은 올바른 실행을 위해 동기화가 필수임- 프..
혼공학습단 13기- 4주차 @ 3주차 KeywordRAM  - DRAM, SRAM캐시메모리는 CPU 코어에 멀어질수록 용량이 커지고, 속도는 작아진다.플래시 메모리는 우리가 흔히 사용하는 USB, SSD, SD카드 이다.플래시 메모리 - SLC타입, MLC타입, TLC 타입 셀보다 더 큰단위는 페이지, 블록, 플레인, 다이 순서이다.RAID는 하드디스크 또는 SSD 를 이용하는 기술로, 여러개의 디스크를 이용하여 하나의 디스크 처럼 취급하는 기술임 입출력은 프로그램 입출력, 인터럽트 기반 입출력 DMA 입출력 이 있다.9. 운영체제 시작하기9.1. 운영체제를 알아야 하는 이유9.1.1. 운영체제란- 모든 프로그램은 하드웨어를 필요로하며, 프로그램 실행에 필요한 요소를 '시스템 자원' 또는 '자원' 이라고 함- 실행할 프로그램에 필..
혼공학습단 13기- 3주차 @ 2주차 keyword 확인- 레지스터의 동작 흐름 (pp. 114~ 117)- 인터럽트 - 동기 인터럽트(예외), 비동기 입터럽트(하드웨어 인터럽트)- 하드웨어 스레드 ex) 1코어 2스레드 - 소프트웨어 스레드 ex)1코어 1스레드에서도 다중으로 스레드 실행- CISC : 복잡한 명령어 구현, 가변 길이 명령어 특징, 메모리 공간 절약  →  명령어 처리시 긴 클럭 주기 필요- RISC : 단순한 명령어 구현, 고정 길이 명령어, 많은 메모리 필요 → 명령어 처리시 1클럭 내외 6.1. RAM의 특징과 종류6.1.1. RAM의 특징- 실행할 프로그램의 명령어와 데이터가 저장되지만 전원을 끄면 모두 없어짐(휘발성 저장 장치)→ 실행할 대상 저장- 보조기억장치의 경우 전원을 끄면 데이터가 사라지지 않음..
혼공학습단 13기- 2주차 @ 1주차 확인- 명령어 = 연산구조 + 오퍼랜드- 연산구조 = 명령어가 수행할 연산 → 데이터전송, 산술논리/연산, 제어 흐름 변경, 입출력 제어- 오퍼랜드 = 연산에 사용할 데이터가 저장된 위치- 오퍼랜드 필드에는 데이터 또는 메모리나 레지스터 주소가 올 수 있음- 오퍼랜드 필드에서 나타내는 위치는 주소 지정 방식에 따라 다름 → 즉시, 직접, 간접 / 레지스터Chapter 4.  CPU의 작동 원리 (전체적으로 생소함)4.1. ALU와 제어장치ALU-  ALU : CPU 내부에서 계산을 담당- 계산하기 위한 대상이 있어야되기 때문에 피연산자 필요, 계산에 대한 결과가 출력됨 ?→ALU input- 레지스터를 통해 피연산자를 받고, 제어장치로부터 수행할 연산을 알려주는 제어신호를 받음 → 산술/논리 ..
혼공학습단 13기- 1주차 Chapter 1 컴퓨터 구조 시작하기- 컴퓨터 구조를 알면, 미지의 대상이 아닌 분석 대상으로 인식 변화로 문제에 대한 해결을 다양하게 찾을 수 있음- 또한 개발한 프로그램의 성능을 고려하여 서버 구성 비용을 최소화 할 수 있음- 컴퓨터 구조는 간략하게 2가지로 나눌 수 있음1) 컴퓨터가 이해하는 정보- 0과 1로만 구성된 정보만을 이해하며, 컴퓨터는 0과 1로 구성된 데이터와 명령어를 이해한다.2) 컴퓨터를 구성하는 4가지 핵심 부품- CPU(중앙처리장치), 메모리(주기억장치-RAM, ROM), 보조기억장치, 입출력 장치로 구성됨- 메모리는 현재실행되는 프로그램의 명령어와 데이터를 저장하는 부품 -> 프로그램이 실행되려면 반드시 메모리에 저장- 또한, 주소라는 개념으로 저장된 값에 빠르고 효율적으로 ..
혼공학습단 13기 시작 검색을 하다가 운이 좋게 혼공학습단을 알게되었고, 이전부터 따로 공부하고 싶었던 컴퓨터 구조 영역이 있어서 신청하게 되었다. 이전 직장생활에서도 필요했던 영역이였고, 현재 대학원 생활을 하면서도 리눅스 환경을 다루거나, MCU 또는 FPGA를 다루면서 컴퓨터 구조를 공부해야되는 필요성을 느꼈었다. 총 6주 동안 진행되는 25년 1월 6일부터 2월 23일까지 진행하는 스스로 공부하는 학습 환경을 통해 지식도 쌓고,작은 성공들을 통하여 내 자신을 다시 부스팅 할 수 있는 기회가 되었으면 좋겠다.