728x90

분류 전체보기 209

7주차 퀴즈 복습

7주차 퀴즈 복습1번 문제페이징과 세그멘테이션의 정의 및 각각의 장단점에 대해 서술하시오.[답안]{개념}세그멘테이션(Segmentation)과 페이징(Paging)은 컴퓨터 메모리 관리 방법입니다.세그멘테이션이는 메모리를 의미 있는 단위인 '세그먼트'로 나누는 방법입니다. 각 세그먼트는 시작 주소와 길이를 가지며, 다른 유형의 데이터(예: 코드, 데이터, 스택)를 위해 사용됩니다. 세그멘테이션은 메모리를 더 유연하게 관리할 수 있게 해주며, 프로그램의 논리적 구조를 반영할 수 있습니다.페이징페이징은 메모리를 동일한 크기의 블록, 즉 '페이지'로 나누는 방법입니다. 각페이지는 가상 메모리 주소와 매핑되며, 페이지 테이블을 통해 물리적 메모리 주소로변환됩니다. 페이징은 메모리 관리를 단순화하고, 메모리의 낭..

WEEK 07 C언어 TIL(4월30일 수요일)

[목표]컴퓨터 시스템 9장 모든 개념 이해(시간 남으면 노션에 정리)환경 노션에 정리하기7주차 퀴즈 오답하기(포인터 마무리 공부는 완료)98점 짜리 말록 코드 이해하기 발표자료 만들기09:50 ~ 11:00빵을 먹고 왔다. 어제 예비군 관련 통지서가 와서 조회했다. 휴대폰이랑 맥북에선 조회가 안되서 집에 있는 컴퓨터를 켜서 확인해서 오래걸렸다. 6월10일 까지라 혹시 몰라서 미리 연기를 신청하려 한다. 그래서 크래프톤 정글에 증명서 요청글을 작성했다.11:00 ~ 12:00슬슬 발표할 내용을 선정하고 발표자료를 만들어야 한다. 일단, 내가 분석중인 98점짜리 코드가 분석 완료되는 데로 작성하겠다.12:00 ~13:30식사를 마치고 1시간 정도 잤다.13:30 ~ 14:00예비군 연기 증명서가 도착하여, ..

묵시적 리스트 구현(Next Fit)[56점]

묵시적 리스트 (Next Fit)[56점]기본적으로 전체틀은 바뀌지 않습니다.First Fit에서 Next Fit으로 바꾸려면, 기존의 코드에서 find_fit 함수만 바꾸면 됩니다. 그러나 저는 얼마 안가 해당 함수만 바꾸면 되는 걸 알게 되었습니다.합병을 담당하는 coalesce에 맨 밑 리턴 값에 last_bp = bp; 을 추가하여야 합니다. 또한 last_bp 변수를 어떤 함수에서든 쓸수 있게 전역변수로 선언해줘야 합니다.(초깃값 NULL)전역 변수 추가 및 coalesce 수정...// 다음 블록의 포인터#define NEXT_BLKP(bp) ((char *)(bp) + GET_SIZE(((char *)(bp) - WSIZE)))// 이전 블록의 포인터#define PREV_BLKP(bp) (..

WEEK 07 C언어 TIL(4월29일 화요일)

오늘은 7주차 퀴즈를 진행하는 날입니다. 빠르게 Malloc을 심화적으로 공부해보겠습니다.[목표]컴퓨터 시스템 9장 모든 개념 이해(시간 남으면 노션에 정리)환경 노션에 정리하기7주차 퀴즈 대비하기7주차 퀴즈 오답하기(진행중)시놀로지 사진 Finder에 안뜸 오류 해결(지금은 브라우저로 봐야함) → 못함9:40 ~ 10:30어제 못고쳤던 시놀로지 사진 이슈를 수정하고 있다. Finder에 안뜸…결론, 못고쳤다. synology driver도 포트포워딩 해놔도 안된다.10:30 ~ 12:00어제 할려했던 명시적 리스트를 구현해보겠습니다.명시적 방법의 LIFO와 주소순 삽입 방식 둘 다 확인해보았다.분리 맞춤 방식을 구현해보려 했으나 세그멘테이션 오류가 발생하여 수정하다 식사하러갔다.12:00 ~ 13:00..

WEEK 07 C언어 TIL(4월28일 월요일)

오늘 배운 내용들은 직전 포스팅 2개에 작성해 두었다. 참고하면 좋을 것 같다.오늘 목표인 malloc lab을 결정 짓는 리스트, 배치정책에 대해 공부했다. 또한 malloc lab 기본 코드를 분석하고 주석을 달아 팀원들과 이야기했다.[목표]컴퓨터 시스템 9장 모든 개념 이해(시간 남으면 노션에 정리)말록랩 코드 내용 이해하는데로 노션 정리환경 노션에 정리하기09:50 ~ 12:009.9장에 대해 읽어보며 노션에 정리하기, 중요한 내용만 확인하기너무 졸려서 졸았다.12:00 ~ 13:30식사를 하고 졸려서 잠을 잤다. 이후에 malloc 코드별 주석을 달다가 강의실로 왔다.13:30 ~ 15:30말록 코드별 주석을 달다가 강의실로와서 아까 못본 9.9장 말록내용을 보고 있다.9.12까지 9강의 내용을..

Malloc LAB Implicit List, First Fit 방식 구현

Malloc LAB Implicit List, First Fit 방식 구현[참조 사이트]https://e-juhee.tistory.com/entry/c%EC%96%B8%EC%96%B4-Malloc-Lab-%EB%8F%99%EC%A0%81-%ED%95%A0%EB%8B%B9%EA%B8%B0-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-Implicit-List-Explicit-List-Segregated-List-Buddy-System※ 코드 작성하실 때, 함수 순서를 꼭 지켜주셔야합니다! 그렇지 않으면 C언어 특성상 호출된 함수가 본인보다 뒤에 있으면 읽지 못해 세그멘테이션 오류를 일으킵니다!(자세한 내용은 전체 코드를 확인해주세요)앞으로 우리는 mm.c 라는 파일만을 수정하여 Mall..

Malloc Lab(리스트 종류, 배치 정책, 삽입 정책)

Malloc Lab해당 글은 말록랩 실습과 리스트 종류, 배치 정책, 삽입 정책 등에 관한 내용을 다룹니다. 시간이 된다면 추후에 말록랩에 대한 개념을 정리해보겠습니다.C 프로그램에서…malloc은 메모리를 효과적으로 할당해주는 동적 할당을 해줍니다.free는 그렇게 할당된 메모리를 해제해줍니다.→ 앞으로 이러한 malloc을 직접 C언어로 구현해보면 됩니다.직접 구현하기 전에 기본적인 리스트 종류와 배치 정책, 삽입 정책을 알아보겠습니다.먼저, 정글에서 말록랩을 과제로 다운 받아실행을 해봅시다.본인의 깃으로 클론한 다음에 깃 서버에 있는 리포지트리를 다운 받아 오면 로컬로 가지고오게 되고 그 파일을 열어보면 됩니다.보통 도커를 통해 사용할 것입니다. 정글에서 설명한 기본적인 환경 세팅이 완료됐다는 가정..

깃허브 명령어 사용법

내가 개인적으로 정글 깃허브에 올린방법을 확인해보고자 포스팅해본다.사실상 WEEK01 주차에 작성한 내용이지만, 깃허브 관련해서는 계속해서 사용하므로 참고하면 좋을 것 같다.금일 시험관련하여 금주 코치님께서 알려주신 깃허브 세팅법에 대해 정리해둔 내용을 도움되실까 하여 공유합니다.본인 깃허브 상황에 따라 달라질 수 있으니, 참고용으로 봐주시면 감사드리겠습니다. 모두 좋은 결과 나오시면 좋겠습니다.깃허브 세팅법깃허브에서 로컬로 클론합니다.cd 깃허브 디렉토리(디렉토리로 이동합니다.)git checkout -b Week01/깃허브닉네임(prkty)git brach 로 본인이 있는 브런치 확인가능합니다.비주얼 스튜디오 코드로 이동하여 원하는 폴더와 파일 만들고 코드 작성합니다.쉘에서 git add .(stag..

WEEK 07 일상 TIL(4월26일 토요일 ~ 4월 27일 일요일)

4월 26일 토요일[목표]컴퓨터 시스템 9장 다 보고 malloc에 대한 내용 확인내 환경 노션에 정리하기9:50 ~ 12:00벨로그에다가 노션 내용 정리중이다.12:00 ~ 13:00쌀국수가 나왔다. 맛있는 식사를 가졌다.13:00 ~ 14:00이어서 컴퓨터 시스템 9장을 정리해보겠다.9.9장을 먼저 보고 있다. 앞의 내용은 대략적으로 알고 있으니까…14:00 ~ 17:00팀원분들과 함께 코어타임을 가졌다. 말록을 구현해 봐야하므로, 9장 가상메모리에 대해 이해한 부분까지 토론해보는 시간을 가졌다. 내가 모르는 부분은 팀원분이 알려주시고, 내가 아는 부분은 팀원분께 알려드려 모두에게 유익한 시간이 되었다.17:00 ~ 04:00가상메모리에 대해 좀 더 공부하다가, 작성해야될 문서가 있어 작성하였다.삼겹..

컴퓨터 시스템 8장(8.5)(예외 상황, 시그널)

8.1 예외 상황프로세서에 전원을 처음 공급한 시점부터 전원을 끌 때까지 프로그램 카운터(실행할 기계어 코드 위치 지정)는 연속된 값들을 가정한다. 제어흐름 케이스보통의 경우→ 점진적인 순서로 두개의 메모리가 서로 나란히 있는 경우이다. 변화가 생기는 경우→ jump, call 리턴 같은 프로그램 인스트럭션에 의해 발생된다. 이러한 명령어들은 프로그램 변수에 의해 상태 변화에 반응하도록 하기 위해 필요하다.예외적 변화흐름 처리의 예시시스템들은 내부 프로그램 변수에 의해 표시되지 않음. 실행과 관련되어 있지 않은 시스템 상태에도 반응할 수 있어야함.[ex]H / W timer: 인터럽트를 발생시켜 규칙적인 간격으로 꺼짐(너무 오래실행되는 걸 방지), 이걸 시스템이 정기적으로 처리해줘야함.Network: ..

728x90