본문 바로가기

전체 글111

[크래프톤 정글] 85일 - 🛫 오늘 한 일 👩‍💻 - 3주차 마무리 - 알고리즘 문제 풀이 - 객체지향 사실과 오해 책 읽기 알고리즘 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 3주차 Pintos 3주차는 Virtual Memory를 구현하는 것이 과제이다. 많은 분들이 이 과제는 구현할 것도 많고, 내용도 많아서 쉽지 않다고 많이 들었는데 막상 해보니 어렵기도 했지만 재미난 부분도 있었다고 생각한다. 과제는 크게 3가지로 구분된다. - Memory Management - Anonymous Page.. 2023. 6. 27.
[크래프톤 정글] 81일 - 즐거운 금요일! 오늘 한 일 👩‍💻 - 알고리즘 문제 풀이(1965: 상자넣기) - Pintos - Anonymous page, Stack growth 알고리즘 https://www.acmicpc.net/problem/1965 1965번: 상자넣기 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 www.acmicpc.net 프로그래머스도 풀고 싶지만... Pintos 때문에 정신없다... 그래도 다음주면 끝나니까! 좀만 더 힘을 내봐야지💪 Pintos Pintos는 생각보다 구현할 것이 너무 많~다!!! Anonymous Page [PROJECT3] Anonymous Page(myw.. 2023. 6. 24.
[Project3] Virtual Memory(4) - Stack Growth 프로젝트 2에서 스택은 USER_STACK에서 시작하는 한 페이지로 제한되어있으며, 해당 사이즈 내에서만 프로그램이 실행될 수 있었다. 이번 과제에서는 스택이 현재 크기 이상으로 커지면, 필요에 따라 페이지를 추가 할당한다.(= 동적 할당) 이때 추가 페이지 할당은 스택 접근으로 보이는 경우에만 할당한다. 스택 접근과 다른 접근을 구분하는 방법을 고민해야 한다. 사용자 프로그램이 스택 포인터 아래에서 쓰기 작업을 수행하면 버그가 발생한다. 일반적인 OS는 “Signal”(여기서는 쓰기가 신호가 된다!)을 전달하기 위해 언제든지 프로세스를 중단할 수 있다. 이 중단으로 인해 스택 데이터는 수정될 수 있다. X86-64 아키텍처의 PUSH 명령은 스택 포인터를 조정하기 전에 접근 권한을 확인한다. 만약 스택.. 2023. 6. 21.
[크래프톤 정글] 77일 - 떠나지마 일요일...✋ 오늘 한 일 👩‍💻 - 알고리즘 - memory management 구현 시작 알고리즘 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net Memory Management 1. 테스트에 관하여 저번주차와 다르게 테스트하기 너무 어렵다. 그래서 이번주차부터는 ASSERT문을 사이에 넣어서 하고 있는데... 생각보다 어렵다. 이 고민에 관하여 우리반 홍교수님께 여쭤봤더니, 동의하는 부분이며 Anonymous page부터는 좀 괜찮을 것이라고 하.. 2023. 6. 19.
[크래프톤 정글] 76일 - PintOS 구현 시작! 오늘 한 일 👩‍💻 - 알고리즘 문제 풀이 - gitbook - Anonymous Page - PintOS 구현 시작 알고리즘 https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr gitbook https://mywnajsldkf.tistory.com/48 [Project3] Virtual Memory(3) - Anonymous Page 이번 프로젝트에서는 anonymous page라고 하는 non-disk based image를 구현할 것이다. .. 2023. 6. 18.
[Project3] Virtual Memory(3) - Anonymous Page 이번 프로젝트에서는 anonymous page라고 하는 non-disk based image를 구현할 것이다. non-disk based image란 디스크(하드 디스크, 다른 저장 매체)가 아닌 다른 형태의 저장 매체나 메모리에 저장되는 이미지를 말한다. 예를 들어 메모리(RAM)나 캐시와 같은 임시 저장 공간이나 네트워크를 통해 전송되어 메모리에 로드된 이미지를 말하는데, 이 방식은 일시적이거나 동적인 이미지 저장에 유용하고 디스크 기반 이미지 저장 방식에 비해 속도와 접근성이 좋다. Anonymous mapping은 백업 파일, 장치(메모리 매핑이 지원되는 물리적인 장치나 파일)가 없다. Anonymous라는 뜻은 파일 백업 페이지와 다르게 이름이 지정된 backing 파일이나 장치가 없다는 것을 .. 2023. 6. 17.
[크래프톤 정글] 75일 - 🍊 오늘 한 일 👩‍💻 - 알고리즘 문제 풀이 - gitbook 읽기(Anonymous Page) - systemCall 정리 알고리즘 공원 산책 https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 언어 적응 겸 lv1 문제 풀었는데... 생각했던 것보다 시간이 엄청 소모되었다. 더욱 알고리즘을 꾸준히 해야겠다는 생각이다. 풀이: https://mywnajsldkf.tistory.com/46 그림 https://www.acmicpc.net/probl.. 2023. 6. 17.
프로그래머스: 공원 산책(lv1) https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설명 단순 구현 문제인데 생각했던 것보다 시간을 매우 많이 잡아먹어서 정리한다. 주의해야할 점은 산책할 때, 점프해서 가는게 아니라 해당 지점까지 한칸씩 이동하면서 간다. 따라서 가는 도중에 장애물을 만나면 안된다. 코드 import java.util.*; class Solution { static int[] move = new int[2]; static int[][] map; static in.. 2023. 6. 17.
[Project3] Virtual Memory(2) - Memory Management Memory Management 가상 메모리 시스템을 사용하려면, virtual page와 physical frame을 잘 다뤄야 한다. 즉, virtual 또는 physical 메모리 영역이 누구에게, 왜, 사용되고 있는지 확인해야 한다. 이번 과제에서는 SPT(Supplemental page table)를 학습하고, 실제 프레임을 다룰 것이다. 또한 virtual page에는 page라고 하고, physical page는 frame이라고 용어를 사용한다. Page Structure ans Operations struct page include/vm/vm.h 에 작성된 page 는 virtual memory를 나타내는 페이지 구조체이다. struct page { const struct page_oper.. 2023. 6. 14.