본문 바로가기

CS12

[혼공컴운] 혼공단 6주차: 14~15 14 가상 메모리 14-1 연속 메모리 할당 스와핑 - 프로세스들을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재해서 실행하는 방식 - 스왑영역: 쫓겨나는 보조기억장치의 일부 영역 - 스왑아웃: 현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것 - 스왑 인: 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것 - 스왑 아웃되었던 프로세스가 다시 스왑 인 될 때는 스왑 아웃 되기 전의 물리 주소와는 다른 주소에 적재될 수 있음 - 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 프로세스들을 동시 진행할 수 있음 메모리할당 1) 최초 적합 - 메모리 내의 빈 공간을 순서대로 검색하다가 적재할.. 2024. 2. 17.
[혼공컴운] 혼공단 5주차: 12~13 12 프로세스 동기화 12-1 동기화란 동기화 - 정보,통신 분야에서의 동기화란 작업들사이의 수행 시기를 맞추는 것 프로세스 동기화 - 프로세스 사이의 수행 시기를 맞추는 것 1) 실행 순서 제어: 프로세스를 올바른 순서대로 실행하기 2) 상호 배제: 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기 공유 자원 - 공동의 자원 - 전역변수, 파일, 입출력장치, 보조기억장치 등 임계 구역 - 두 개 이상의 프로세스를 동시에 실행하면 문제가 발생하는 자원 레이스 컨디션 - 잘못된 실행으로 인해 여러 프로세스가 동시 다발적으로 임계 구역의 코드를 실행하여 문제가 발생한 경우 임계 구역 문제 해결 원칙 1) 상호 배제: 한 프로세스가 임계 구역에 진입했다면 다른 프로세스는 임계 구역에 들어올 수.. 2024. 2. 4.
[혼공컴운] 혼공단 4주차: 09~11 09 운영체제 시작하기 09-1 운영체제를 알아야하는 이유 시스템 자원 - 프로그램 실행에 마땅히 필요한 요소 운영체제 - 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특병한프로그램 - 여느 프로그램과 마찬가지로 메모리에 적재되어야함 - 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행됨 - 사용자영역: 커널 영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역 - 운영체제는 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들이 올바르게 실행되도록 도움 09-2 운영체제의 큰 그림 커널 - 운영체제의 핵심 서비스를 담당하는 부분 - 운영체제가 설치된 모든 기기에는 커널이 있음 - 사용자 인터페이.. 2024. 1. 28.
[혼공컴운] 혼공단 3주차: 06~08 06 메모리와 캐시 메모리 06-1 RAM의 특징과 종류 RAM - 실행할 프로그램의 명령어와 데이터 저장 - 휘발성 저장장치: 전원을 끄면 RAM에 저장된 명령어와 데이터가 모두 날라감, 실행할 대상 저장 - 비휘발성 저장장치: 전원이 꺼져도 저장된 내용 유지, 보관할 대상 저장 - CPU는 보조기억장치에 직접 접근하지 못함 - RAM 용량이 충분히 크다면 보조기억장치에서 많은 데이터를 가져와 미리 RAM에 저장할수 있음 -> 많은 프로그램을 동시에 실행하는데 유리 - 용량이 필요 이상을 커졌을 때 속도가 그에 비례하여 증가하지 않음 DRAM - Dynamic RAM - 시간이 지나면 저장된 데이터가 점차 사라지는 RAM - 일정 주기로 데이터를 재활성화 해야함 - 소비전력이 비교적 낮고, 저렴하고, .. 2024. 1. 21.
[혼공컴운] 혼공단 2주차: 04~05 04 CPU의 작동 원리 04-1 ALU와 제어장치 ALU - 계산하는 부품 - 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들임 - 특정 숫자나 문자가 될 수도 있고, 메모리 주소가 될 수 있음 - ALU가 연산할 떄마다 결과를 메모리에 저장한다면 당연하게도 CPU는 메모리에 자주 접근하게 되고, 이는 CPU가 프로그램 실행 속도를 늦출 수 있음 -> ALU의 결괏값을 메모리가 아닌 레지스터에 우선 저장함 플래그 - 연산 결과에 대한 추가적인 상태 정보 - 플래그들은 플래그 레지스터에 저장됨 플래그 종류 의미 부호 플래그 연산한 결과의 부호를 나타낸다 제로 플래그 연산 결과가 0인지 여부를 나타낸다 캐리 플래그 연산 결과 올림수나 빌림수가 발생했는지를 나.. 2024. 1. 14.
[혼공컴운] 혼공단 1주차: 01 ~ 03 01 컴퓨터 구조 시작하기 01-1 컴퓨터 구조를 알아야 하는 이유 컴퓨터 구조는 개발자가 되려면 반드시 알아야 하는 기본 지식이다. 컴퓨터 구조를 이해하면 컴퓨터를 '미지의 대상'에서 '분석의 대상'으로 인식하게 된다. 컴퓨터 구조를 이해하면 문법만으로는 알기 어려운 성능/용량/비용을 고려하여 개발할 수 있다. 01-2 컴퓨터 구조의 큰 그림 그리기 컴퓨터가 이해하는 정보 1) 데이터 - 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 2) 명령어 - 데이터를 움직이고 컴퓨터를 작동시키는 정보 컴퓨터의 네 가지 핵심 부품 1) 중앙처리장치 - Central Processing Unit, CPU - 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고 실행하는 부품 - .. 2024. 1. 7.