XV6 - OS 추천투 트랙삼성, 엘지(직업 연속성 측면에서는 더 나을지도, 회사가 엄청 크기때문에 자신이 contribute 할 게 많이 없다)네카라쿠배(더 좋음, 살아남는건 자신의 몫, 그만큼 다이내믹)자기계발이 중요하다 - 회사에서는 나를 대체 불가능한 사람으로
현재 file system 주차까지 대부분 끝났고, 정글 교육의 마지막인 나만의 무기를 앞두고 있다. virtual memory 프로젝트는 틈틈히 글을 작성하기로 그렇게 마음을 먹었는데... 결론적으로 구현하느라 정신이 없어서 잘 기록을 못해서 블로그 작성은 오랜만이지
01 주차에는 kernel에서 필요한 기능을 모두 만들었다면 02주차부터는 user program을 실행시키기 위한 작업을 준비한다. command line을 읽어와서 file name과 argument를 추출하여 순서대로 stack에 push하는 argument pa
Introduction 본 Project 01에서 수행할 과제는 다음과 같다. Alarm clock Priority scheduling Advanced Scheduler Project 수행 시 advanced scheduler를 포함하여 모든 테스트를 통과했다. 자세
Virtual Storage Non-continuous allocation 사용자 프로그램을 여러 개의 block으로 분할 실행 시, 에 적재 나머지 들은 에 존재 > - Paging system Segmentation system Hybrid paging/segm
교착 상태 두 가지 이상의 작업이 서로의 작업이 끝나기만을 하염없이 기다리는 상태. 서로 자원을 놓아줄 생각이 없고, 요청만 무한정 기다리는 상태 공유 자원이 속해있어 교착 상태가 발생할 수 있는 영역을 이라 부름. 임계 영역(Critical Section) 교착
4주간의 알고리즘 문제 풀이 이후 c언어를 처음 배워봄과 동시에 RBtree, malloc 및 web server 구현을 마치고, pintOS Project에 돌입했다. 초기에 블로그를 잘 정리하겠다는 다짐은 진즉 희석되어 malloc부터 거의 정리하지 못한 것 같다.
레지스터, 캐시 -> CPU가 관리메인 메모리, 보조기억장치 -> SW(OS)가 관리Block보조기억장치와 주기억장치 사이의 데이터 전송 단위Size: 1 ~ 4KBWord주기억장치와 레지스터 사이의 데이터 전송 단위CPU의 bit가 word 단위로 나타냄 즉, 64b
Language-level constructs \- 프로그래밍 언어가 상호배제를 서포트 함.Object-Oriented concept와 유사사용이 쉬움공유 데이터와 Critical section의 집합Conditional variable \- wait(), sign
프로세스 작업 (Job) / 프로그램 (Program) 실행 할 컴퓨터 시스템에 실행 요청 전인 상태 (= 현재 디스크에 존재) 프로세스 (Process) 실행을 위해 시스템(커널)에 등록된 작업 시스템 성능 향상을 위해 커널에 의해 관리 됨
여러개의 프로세스가 시스템 내 존재자원을 할당 할 프로세스를 선택 해야 함 -> 스케줄링자원 관리 \- 시간 분할 (time sharing) 관리 -> 프로세서 사용 시간을 프로세스들에게 분배 \- 공간 분할 (space sharing) 관리 -> 메모리 시스템의
Light Weight Process(LWP) -> 자원은 공유하고 제어 부분만 갖고 있으므로 일반적인 프로세스보다 가벼움프로세서(e.g, CPU) 활용의 기본 단위구성요소(Thread ID, Register set(PC, SP 등), Stack (i.e. local
하드웨어를 효율적으로 관리해서 사용자 혹은 응용 프로그램에게 서비스를 제공하는 역할을 수행하는 소프트웨어프로세서(연산) \- CPU \- 그래픽카드(GPU) \- 응용 전용 처리장치 등메모리(저장) \- 주 기억장치 \- 보조 기억장치 등 주변장치(입력, 출
본문의 내용은 다음의 강의를 토대로 작성한 글임.https://www.youtube.com/watch?v=1grtWKqTn50Keywords1\. 실행 단위 - cpu core에서 실행하는 하나의 단위로 프로세스와 스레드를 포함하는 개념. \- 이 실행 단위는
Red-Black tree 이진 탐색 트리(BST)의 한 종류 스스로 균형(Balancing) 잡는 트리 BST의 worst case의 단점을 개선 : 모든 노드를 다 확인해야함. 레드블랙 트리는 스스로 균형을 맞춰줘서 트리가 편향되지 않도록 해줘서 O(logN)이
기존의 가상 메모리를 사용하지 않는 시스템에서의 메모리 참조 방식\-> CPU가 물리 주소를 메인 메모리에 바로 입력하여 메모리 참조를 진행함가상 메모리 시스템\-> 각 프로그램이 가상의 주소를 사용하도록 하며, CPU가 메모리 참조를 시도할 때는 MMU(Memory
구조체 복습 구조체: 객체 지향 프로그래밍에서 말하는 클래스의 모체가 되는 것으로 여러 개의 자료형을 묶어서 새로운 자료형을 만들 수 있는 방법임. 여러 개의 데이터를 하나로 묶어서 사용할 수 있도록 하기 위해 만들어진 C언어의 문법으로 후에 이러한 구조체의 개념은
다이나믹 프로그래밍 은 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법. 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않도록 함. 다이나믹 프로그래밍의 구현은 일반적으로 두 가지 방식(탑다운과 바텀업)으로 구성됨
최단 경로 문제 최단 경로 알고리즘은 을 의미함. ex. 1) 한 지점에서 다른 한 지점까지의 최단 경로 2) 한 지점에서 다른 모든 지점까지의 최단 경로 3) 모든 지점에서 다른 모든 지점까지의 최단 경로 다익스트라 최단 경로 알고리즘 에서 출발하여 로 가는 최단