1 컴퓨터의 시작/1 1 컴퓨터를 구성하는 요소/1 1 2 컴퓨터구조 + 운영체제

기술노트

아래 영상 한번 보세요~ 10분 보시면 전공자 만큼 아실 수 있습니다~!

컴퓨터 구조는 크게 CPU, 메모리, 디스크로 나뉘어 있습니다.

CPU ALU(Arithmetic Logic Uit) + 레지스터 산술연산, 제어

캐시메모리 CPU와 메모리 사이에 존재하면서 명령어를 빠르게 전달하기 위한 메모리

프로그램의 일부분이 메모리에 올라오고 이때 프로세스라고 하며 메모리에는 여러 프로세스의 일부가 올라오게 된다. 그래서 메모리는 교체에 대한 알고리즘이 필요하다.

가상 메모리가 있다. Virtaul 메모리는 디스크에 파일로 존재한다. 메인 메모리의 단가가 비싼 관계로 많은 프로세스가 동시에 실행될 때에 프로세스의 일부가 메인 메모리로 올라갈 때 일부는 디스크의 파일을 마치 메모리처럼 매핑해서 사용하고, 사용되어지지 않는 일부를 SWAP 하는 방식으로 내렸다가 올렸다가 하면서 메모리처럼 사용하는 방식이다.

디스크 관리 최소 탐색 알고리즘, 실린더가 있고, 원통을 돌면서 켭켭히 쌓인 원통의 층수와 원판의 빠르기 속도 등에 의해서 속도 결정 얼마나 빠르게 데이터를 찾아가는가가 관건이다.

이제 SSD로 변화되는 시키라서 중요도에 대한 비중이 떨어지지만 여전히 대용량 저장을 위해서는 개념이 필요하다.

디스크가 여러개 있는 것을 RAID라고 한다.

프로그램 개발(C, C++, Java) -> 컴파일 -> 프로그램 어셈블 -> 어셈블러 -> 기계어 코드 (바이너리) = 실행파일

컴파일을 하면서 오브젝트 코드, 목적 코드라고 하는 파일로 만들어지고, 링크라는 과정을 통해서 실행 화일 또는 DLL과 같은 파일로 만들어짐.

프로그램 -> 프로세스 -> 쓰레드

스케쥴링 : 다중 프로그램 -> 프로세스가 되었을 대 어떤 프로세스를 선택할 때 전략 필요 선점형 (Preeptive)

문맥이 교체 되는 것을 문맥교환(Context Switching)이라고 하고, 이 현상이 빈번하게 일어나는 것을 스레싱이라고 합니다.

그래서 아주 많은 프로그램을 동시 띄우면 컴퓨터가 갑자기 느려지는 이유가 이 쓰레싱 현상때문이 느려집니다.

개발자, 기술사, 삼성, 외국계 IT기업 20년차 기술노트 알렉이 직접 작성한 IT기업 기술 면접을 위한 CS + 면접 노하우 PDF <https://kmong.com/self-marketing/539751/LUA54VnQsP> 자주 나오는 CS 질문과 답변 그리고 100번 이상 면접관으로 참여하면서 느꼈던 면접자가 알아야 할 팁 13가지 포함

백엔드 개발자를 위한 클라우드 강의, AWS <https://inf.run/o1NX>

이제는 비전공자도, 일반이도 개발할 수 있다. ChatGPT를 이용한 누구나 앱개발 with 알렉 <https://inf.run/rpX4>

백엔드 직접 번역한 도서 <https://www.yes24.com/Product/Goods/122536127>

IT기술의 거의 모든 것을 다루는 기술노트with알렉 유투브 <https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89>