[혼공학습단 13기] 완주 회고
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
드디어 혼공학습단 13기가 끝이났다..! 이걸 신청할 때만 해도 2024년 12월 말이었는데 지금은 벌써 2025년 2월 말이다. 시간이 진짜 너무 빠른 것 같다. 위의 사진은 혼공학습단을 관리하시는 혼공족장님께서 올려주신 사진인데 인상깊어서 가져와봤다. 올해는 이 사진처럼 한꺼번에 많이가 아니라 내가 할 수 있는 한 꾸준히 공부하는 해가 되었으면 좋겠다. 나는 성향상 걱정이 많고 내 노력을 쓸데없는 데 쓰기 싫어 뭔가 시작할 때 상황이나 여건이 완벽해야만 시도해보았는데 올해는 완벽하지 않아도 조금씩이라도 뭔가를 시작해보고 싶다. 애초에 저런 생각 자체를 떨쳐내야 한다고 생각한다. 세상에 완벽한건 없따!! 다른분들도 아 제대로 못할것같은데.. 생각이 들더라도 조금의 여유가 있다면 여름에 혼공학습단 14기..
[혼공학습단 13기] 6주차 : 가상 메모리 | 파일 시스템
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
14-1. 연속 메모리 할당스와핑, 최초 적합, 최적 적합, 최악 적합, 외부 단편화기본적인 메모리 관리 기법인 스와핑과 메모리에 프로세스를 할당하는 방식, 연속 메모리 할당의 부작용인 외부 단편화 스와핑(swapping)오랫동안 사용안된 프로세스들을 임시로 보조기억장치로 보내고 해당 메모리 공간에 다른 프로세스 실행하는 방식✔️ 스왑 영역(swap space) : 프로세스들이 쫓겨나는 보조기억장치의 일부 영역✔️ 스왑 아웃 : 프로세스가 스왑 영역으로 옮겨지는 것✔️ 스왑 인 : 스왑 영역의 프로세스가 다시 메모리로 돌아오는 것➡️ 스왑 인 될 때 스왑 아웃 전의 물리 주소와 다른 주소에 적재될 수 있다. 메모리 할당연속적으로 메모리 할당✔️ 최초 적합(first fit)적재 가능한 공간 발견하는 순간..
[혼공학습단 13기] 5주차 : 프로세스 동기화 | 교착 상태
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
12-1. 동기화란동기화, 공유 자원, 임계 구역, 상호 배제운영체제의 프로세스 관리 서비스 중 가장 중요한 두 가지 중 하나인 동기화 프로세스 동기화프로세스들 사이의 수행 시기를 맞추는 것실행 순서 제어 : 프로세스를 올바른 순서대로 실행상호 배제 : 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기✔️ 스레드같이 실행의 흐름을 갖는 모든 것은 동기화의 대상이다.  실행 순서 제어 위한 동기화writer프로세스와 reader 프로세스가 동시에 실행 중일 때, 아무 순서대로 실행되면 안된다.writer ➡️ reader ; reader프로세스는 book.txt에 값이 존재한 경우에만 실행할 수 있다.  상호 배제를 위한 동기화공유가 불가능한 자원의 동시 사용을 피하기 위해 사용하는 알고리..
[혼공학습단 13기] 4주차 : 운영체제 시작하기 | 프로세스와 스레드 | CPU 스케쥴링
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
09-1. 운영체제를 알아야 하는 이유운영체제, 문제해결컴퓨터 구조에서 학습한 부품들을 관리하는 특별한 프로그램인 운영체제를 학습 운영체제(operating system)사용자가 실행하는 응용 프로그램이 올바르게 실행되도록 돕고 자원을 할당해 주는 프로그램 ✔️시스템 자원(자원) : cpu, 메모리, 보조기억장치, 입출력장치 ➡️ 모든 프로그램이 실행되기 위해 필요운영체제도 프로그램이므로 다른 프로그램(인터넷 브라우저, 게임 등)처럼 메모리에 적재되어야 한다.  ✔️메모리커널 영역(kernel space) : 컴퓨터 부팅될 때 항상 운영체제가 적재사용자 영역(user space) : 사용자가 이용하는 응용 프로그램 적재 ➡️ 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 올바르게..
[혼공학습단 13기] 3주차 : 메모리와 캐시 메모리 | 보조기억장치 | 입출력장치
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
06-1. RAM의 특징과 종류휘발성 저장 장치, 비휘발성 저장 장치, DRAM, SRAM, SDRAM, DDR SDRAMRAM(메모리)의 특징휘발성 저장 장치(volatile memory) : RAM비휘발성 저장 장치(non-volatile memory) : 보조기억장치(하드 디스크, SSD, CD-ROM, USB 메모리)➡️ 보조기억장치는 cpu가 직접 접근할 수 없으므로, 보관할 대상을 저장하고, RAM에는 실행할 대상을 저장한다. ➡️ cpu가 실행하고 싶은 프로그램이 보조기억장치에 있으면 RAM으로 복사해 저장한 뒤 실행한다. RAM의 용량과 성능RAM 용량이 적다면 보조기억장치에서 실행할프로그램을 자주 가져와야 해 실행 시간이 길어진다. RAM 용량이 커지면 실행 속도가 증가하기는 하지만, 필..
[혼공학습단 13기] 2주차 : CPU의 작동 원리 | CPU 성능 향상 기법
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
04-1. ALU와 제어장치ALU, 플래그, 제어장치, 제어신호CPU의 구성 요소 중 ALU와 제어장치가 어떤 정보를 내보내고 받아들이는지를 중심으로 두 장치의 역할 학습ALU계산을 하는 부품인데 계산을 하기 위해서는 피연산자와 수행할 연산이 필요하다📍 ALU가 받아들이는 정보피연산자 : 레지스터 통해 받아들인다제어신호 : 제어장치로부터 받아들인다(제어신호가 수행할 연산을 알려준다)📍 ALU가 내보내는 정보특정 숫자나 문자, 메모리 주소플래그연산할 때마다 메모리에 접근하면 속도가 그만큼 느려지기 때문에 ALU의 결과값은 레지스터에 우선 저장한다. 플래그(flag)연산 결과에 대한 추가적인 상태 정보. 일종의 참고 정보이다플래그들은 플래그 레지스터에 저장된다.e.g. 이진수만 봐서는 양수인지 음수인지 ..
[혼공학습단 13기] 1주차 : 컴퓨터 구조 시작하기 | 데이터 | 명령어
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
많은 사람들이 사용하는 프로그램을 만들기 위해서는 입력과 출력 뿐만 아니라 성능, 용량, 비용 문제를 고려해야 하는데이를 위해서는 컴퓨터 구조를 알아야 한다.01-2. 컴퓨터 구조의 큰 그림데이터, 명령어, 메모리, CPU, 보조기억장치, 입출력장치, 시스템 버스컴퓨터 구조컴퓨터가 이해하는 정컴퓨터의 네 가지 핵심 부품컴퓨터가 이해하는 정보컴퓨터는 0과 1로 표현된 정보만을 이해하는데 데이터와 명령어가 있다. 데이터는 컴퓨터와 주고받는 정보나 저장된 정보이고, 명령어는 데이터를 움직이고 컴퓨터를 작동시킨다. 즉, 명령어는 컴퓨터를 작동시키는 정보이고 데이터는 명령어를 위해 존재하는 일종의 재료이다. 컴퓨터 프로그램을 명령어들의 모음이라고 정의하기도 한다. 컴퓨터의 네 가지 핵심 부붐중앙처리장치(CPU),..