presentLee

고정 헤더 영역

글 제목

메뉴 레이어

presentLee

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (108)
    • spring (0)
    • 컴네 (0)
    • 자구 (0)
    • 아두이노 (1)
      • 와이파이 Wemos D1 보드 (5)
    • 웹 (20)
      • js (13)
      • react (5)
      • node.js (0)
      • spring (1)
    • 알고리즘 (2)
      • C (1)
      • 자료구조 (0)
    • ㅇㅇ (5)
    • 혼공단 (24)
      • sql (5)
      • js (6)
      • 네트워크 (5)
      • 컴구운체 (7)
    • RN (1)
    • 데베 (0)
    • sql (1)
    • programmers (6)
      • sql (5)
    • baekjoon (16)
    • java (9)
    • c++ (0)
    • 수업 (0)
      • dbp (0)

검색 레이어

presentLee

검색 영역

컨텐츠 검색

혼공단

  • 혼공컴운 6주차 (가상메모리)

    2025.02.24 by nownow

  • 혼공컴운 5주차 (동기화, deadlock)

    2025.02.18 by nownow

  • 혼공컴운 4주차 (프로세스와 스레드)

    2025.02.17 by nownow

  • 혼공컴운 3주차 (RAM, 캐시, 외부장치)

    2025.01.05 by nownow

  • 동기화 (mutex, Semaphore, monitor)

    2025.01.04 by nownow

  • 혼공컴운 2주차 (레지스터, 멀티스레딩)

    2025.01.03 by nownow

  • 혼공컴운 1주차 컴퓨터 구조 시작하기. (cpu, opcode)

    2024.12.31 by nownow

  • [혼공네트] 6주차

    2024.08.19 by nownow

혼공컴운 6주차 (가상메모리)

페이징프로그램을 실행할 때 메모리에 적재할 필요가 있음. 메모리에 연속적으로 배치할 경우프로세스가 종료될 때 중간중간 프로세스가 종료되며 외부단편화가 발생하고 메모리 공간을효율적으로 사용하지 못하게 될 수 있다. 또한 메모리 남은공간을 초과하는 프로그램 실행 불가이를 해결하기 위해, 메모리의 물리적 공간을 프레임 단위로 나누어서 각 칸에 프로세스의 일부를비연속적으로 배치한다. 당장 필요한 부분만을 메모리에 적재하고 나머지는 디스크에 저장하는스와핑 방식을 적용하여 메모리를 효율적으로 사용한다.프로세스가 메모리에 불연속적으로 배치되므로 cpu의 논리주소를 물리주소로 변환하기 위한페이지 테이블이 존재한다. 메모리에 저장하면 2중 참조가 되어 비효율적이므로가상주소를 물리주소로 변환하는 mmu 내부의 tlb 캐시..

혼공단/컴구운체 2025. 2. 24. 16:25

혼공컴운 5주차 (동기화, deadlock)

https://www.youtube.com/watch?v=SJ_AqcH1OUQ  동기화따로 정리한 포스트와 참고해서 보기 좋은 영상.https://nownow.tistory.com/247 동기화 (mutex, Semaphore, monitor)동기화의 필요성 멀티스레딩으로 갯수를 세는 상황을 가정해보자.int target=0;을 2개의 스레드에서 50번씩 target++; 즉 값을 1씩 100번 늘리려고 한다.target++;라는 연산을 어셈블리로 생각해보면 1. LOnownow.tistory.comhttps://www.youtube.com/watch?v=gTkvX2Awj6g deadlock교착상태에 도달할 수 있는 조건(1)비선점                선점형 스케줄링과 같이 타 프로세스가 사용중인..

혼공단/컴구운체 2025. 2. 18. 21:07

혼공컴운 4주차 (프로세스와 스레드)

https://www.youtube.com/watch?v=6SfLag6ktJc  프로세스프로그램이 실행되면 프로세스가 되며 커널영역에 PCB가 저장된다.PCB에는 각 프로세스의 PC 레지스터 정보 등 주요 context가 저장되어 있고, 인터럽트 등으로cpu를 점유중인 프로세스가 바뀌며 context switching이 일어날 때 PCB에 정보를 저장하고 불러온다.프로세스들은 fork되며 복사되고 부모의 ppid를 저장하며 exec()되어 수정된다 (Windows에서는 다른방식)생성된 프로세스는 ready 상태에서 cpu를 할당받는 dispatch되며 running 상태가 되고타이머 인터럽트에 의해 ready상태로 돌아가거나, 입출력 요청 후 wait 상태로 머문다.입출력 완료 후 인터럽트 요청을 보내고..

혼공단/컴구운체 2025. 2. 17. 21:32

혼공컴운 3주차 (RAM, 캐시, 외부장치)

https://youtu.be/1HM1m2hY2IY?si=sVh7_gCPMJHUnd4a  DRAM -> 시간이 지나면 데이터가 소멸되는 램, 메모리에 사용SRAM -> 시간이 지난다고 데이터가 소멸되진 않음, 직접도낮고 비용비쌈, 빠르다 -> 캐시SDRAM -> 클럭에 동기화되어 cpu와 정보교환 가능한 DRAMDDR SDRAM -> 대역폭을 넓힌 SDRAM. 한 클럭당 두번의 데이터 전송. 램의 대역폭은 데이터버스와 클럭에 의해 결정된다.램을 듀얼채널로 사용한다면 버스를 두배로 활용할 수 있게되어 64*2비트의 메모리 버스를 활용한다.그럼 한 클럭에 두배의 데이터를 전송할 수 있기에 더 빠른 데이터 전송이 가능하다.램의 메모리 클럭이 커지면 한 클럭당 할 수 있는 처리량이 늘어난다.DDR세대가 증가해도..

혼공단/컴구운체 2025. 1. 5. 09:57

동기화 (mutex, Semaphore, monitor)

동기화의 필요성 멀티스레딩으로 갯수를 세는 상황을 가정해보자.int target=0;을 2개의 스레드에서 50번씩 target++; 즉 값을 1씩 100번 늘리려고 한다.target++;라는 연산을 어셈블리로 생각해보면 1. LOAD target R1   //메모리에 있는 변수의 값을 레지스터로 불러서2. R1 = R1 + 1         // 레지스터에 불러온 값에 1을 더한 다음3. STORE R1 taget // 레지스터에 있는 계산 결과를 다시 메모리에 저장한다. 고급언어로 적을 때에는 atomic 한 연산으로 보이지만 실제 작동은 그렇지 않다.스레드 T1이 target이 0일때의 값을 읽어서 2번 과정을 통해 레지스터 R1에서 0+1 연산을 진행하는 도중스레드 T2가 1번의 LOAD를 수행한다..

혼공단/컴구운체 2025. 1. 4. 05:30

혼공컴운 2주차 (레지스터, 멀티스레딩)

명령어를 cpu로 가져와서 수행하는 과정 PC 레지스터에 현재 실행중 프로세스의 읽어야 하는 부분의 메모리 주소가 저장되어 있다control unit은 PC의 주소를 주소 레지스터에 옮기도록 제어신호를 보내고 데이터 버스를 통해 전달된다.control unit의 제어신호를 통해 메모리에 READ 명령을 주소 레지스터에 있는 주소와 같이 보낸다.해당 주소에 적재된 명령어가 메모리 버퍼 레지스터(MBR)에 저장된다.이 명령어는 명령어 레지스터(IR)에 전달되고 여기에서 opcode와 operand로 분리된다.control unit은 이 opcode를 해석하고 그에 맞추어 제어신호와 operand를 ALU나 레지스터에 보낸다.연산이 필요한 opcode인 경우 ALU에 제어신호를 보내고 operand를 범용 레..

혼공단/컴구운체 2025. 1. 3. 13:08

혼공컴운 1주차 컴퓨터 구조 시작하기. (cpu, opcode)

컴퓨터의 주요 부품은 CPU, 메모리, 입출력장치, 보조기억장치 넷으로 분류할 수 있다. CPU 내부에는ALU -> 연산을 위한 장치.제어장치 -> 명령어를 해석하고 처리하는 장치.레지스터 -> 연산과 처리를 위해 명령어와 데이터를 저장해놓는 장치. 프로그램을 실행하고 명령어를 처리하기 위해서는 우선 데이터와 명령어가 메모리에 적재되어 있어야 한다.제어장치가 메인보드의 시스템버스(주소 버스, 명령어 버스, 데이터 버스)를 통해 메모리에 주소와 명령어를 하달하면해당 주소와 명령어 내용을 참조해 필요한 데이터를 레지스터에 전달하고, 그를 이용해서 ALU가 연산한다. cpu에서 연산을 위해 메모리에 적재된 데이터를 읽을 때 데이터 읽기 명령어를 사용하는 것이고.cpu에서 연산을 한 뒤 레지스터에 저장해둔 값을..

혼공단/컴구운체 2024. 12. 31. 08:10

[혼공네트] 6주차

기본 숙제Ch.06-2 확인문제 1번 tcp 통신에서 seq num은 내가 보내는 송신측에서 보내는 세그먼트의 첫번째 바이트 위치.실제로는 0부터가아니라 특정 난수로 시작됨.(중복 방지와 보안을 위해)ack는 수신 확인을 위함과 내가 다음에 받아야 할 바이트 위치를 보내줌. 중복방지 -> 연결을 맺을 때 유한한 갯수의 포트 중에서 사용하는데 그 포트들을 사용하며모두 0에서부터 시작하면 이전 연결에서 오는 패킷으로 인지하게 될 수도 있다.보안-> 시퀀스 넘버를 예측해 가짜 시퀀스 번호를 만들어서 세션을 뺏기는 보안 문제 우려. 해당 raw ACK number가 해당 난수고 일반 ACK number가 해당 난수로부터 논리적으로 0부터 시작하는 ACK 번호다. Ch.07-2 확인문제 2번3. ServerHel..

혼공단/네트워크 2024. 8. 19. 00:53

추가 정보

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
presentLee © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바