카테고리

강의자료 ch3 정리 01. Insertion sort삽입 정렬(Insertion Sort)은 정렬 알고리즘 중 하나로, 배열의 각 요소를 하나씩 차례로 정렬된 위치에 삽입하는 방식임이미 정렬된 부분을 유지하면서 새로운 요소를 올바른 위치에 삽입하는 과정동작 과정: 두번째 요소부터 key로 정한 다음, 앞에 것들 중에서 들어갈 자리 찾는 과정을 반복함 02. Correctness of Insertion sort모든 입력에 대해 올바르게 작동하면 타당성이 있다고 봄 → 귀납법(Induction)으로 증명함 → k, k+1 만족시 k+n도 만족해야됨삽입 정렬은 i=n+1일 때 A[1:n]까지는 항상 정렬된 상태여야됨 ⇒ loop invariant(루프 불변성)을 만족시킴을 귀납법을 통해 증명하면 타당성이..
05. CPU Scheduling  06. Multi-level Feedback Queue  07. Multiprocessor Scheduling  08. Address Space 09. Memory API 10. Address Translation 11. Segmentation 12. Paging
이번 과제도 이틀 걸림다시는 같은 실수를 반복하지 않기 위해,,,,,,,, 하는 법 적어둔다 이번 목표는 커널에 시스템 콜 등록하여 테스트 해보기!! 순서는 다음과 같다. 01. System Call 테이블 등록일단 모든 작업은 sudo -s를 통해 root권한으로 진행!!아래 경로로 들어가면 syscall_64.tbl이 있는데 여기가 바로 시스템콜 테이블이다. 이 작업들은 최상위 커널 소스 폴더 (자신이 설치한 커널, 여기서는 linux-5.4.282 폴더)에서 진행되므로 일단 여기까지 cd로 이동한 뒤 아래 작업들은 바로 vi로 열어서 하는게 편하다.$ vi /arch/x86/entry/syscalls/syscall_64.tbl 해당 파일에 들어가면 58n개.... 정도의 시스템 콜들이 있는데 그..
CPU를 효율적으로 가상화하는 방법 -> OS가 time sharing을 통해 물리적인 CPU를 공유해야 한다. 여기서 발생하는 두가지 Issue1. 성능: 시스템에 과도한 overhead 없이 가상화를 구현하려면 어떻게 해야 하는지2. 제어: CPU에 대한 제어를 유지하면서 어떻게 효율적으로 프로세스를 실행하는지 01. Direct ExecutionCPU에서 직접 프로그램을 실행하는 방법이다.OSProgram1. proc list에 대한 entry 생성 (PCB)2. prog에 대한 메모리 할당3. 프로그램을 메모리에 Load4. argc, argv로 stack setup5. register clear6. Execute main()--------------------------------proc 생성 ..
01. Process APIOS가 제공하는 프로세스와 관련된 함수로, 프로세스 생성, 종료와 같은 제어를 다룬다.  02. Process CreationChild proc에는 자원이 필요 -> OS가 주거나 Parent가 shareResource sharing 종류Parent와 Child가 모든 자원을 공유Parent의 자원 일부만 Child가 공유받음Parent와 Child가 자원 공유하지 않음Execution 종류Parent와 Child가 동시 실행 ("$cmd &"의 경우 백그라운드에서 동시 실행: cmd가 child, $(쉘)이 parent / 만약 &이 아니었다면 cmd(child)가 끝날 때까지 $이 안 뜸(동시 실행 x)) Parent가 Child가 종료되길 기다림 (wait)Address ..
01. ProcessProcess == running program (즉, disk에 실행 가능한 상태로 있으면 프로그램이었다가 실행 시작하면 프로세스) 프로세스 구성 요소Memory (=address space, DRAM에 적재)Code (=text = section)Data (전역변수)Stack (Func call)Heap (동적 할당, malloc)RegisterProgram counterStack pointer 02. Process APIOS가 프로세스의 제어를 위해 제공하는 API(function, method 등 SW)Creat (프로세스 생성, fork())Destroy (프로세스 중단)Wait (프로세스가 종료되길 기다림)Miscellaneous Control (프로세스를 일시중단 했다가 ..
강의자료 공부 01. Operating system (OS)컴퓨터 시스템이 정확하고 효율적으로 동작할 수 있도록 도와주는 resource manager로서, CPU, Memory, Disk를 관리- 실행할 프로그램이 많음 -> CPU 공유- 여러 프로그램이 동시에 명령어, 데이터에 접근 -> Memory 공유- 여러 프로그램이 장치에 접근 -> Disk 공유 => 프로그램 실행을 쉽게 만들어 주고 상호 작용할 수 있도록 만들어 줌 (가상화, 동시성, 지속성)  02. Virtualization (가상화)OS는 physical resource(processor, memory, disk)를 가져와서 자신의 가상 형태로 변환 (OS = 가상머신) 1) Virtualizing the CPU시스템은 매우 많은 가..
첫주부터 뜬 과제...새로 커널 설치하고 + 릴리즈 이름 바꿔서 uname -r 했을 때 설정한 이름 붙여서 출력하기였다.그리고 결론은어제 오늘해서 총 14시간 걸림(...)1번째 2번째 실패하고 3트만에 성공해서 그렇다.... 3번째 시간만 따져보면 컴파일 5시간 걸린듯진짜 오래도 걸린다,,,...아무튼 그래서 했던 방법은이 두 분 블로그를 메인으로 두고 따라했다(진짜 절하는중)https://jyeonnyang2.tistory.com/m/69 [Linux] Linux Kernel Compile 리눅스 커널 컴파일 하는법현재 커널 버전 확인 uname -r 커널 소스 가져오기 현재 기준 5.13.12이 가장 최신 버전이다. wget은 웹으로부터 파일이나 디렉토리를 다운로드할 수 있는 명령어이다. 혹은, ..
앗싸합격이다!!!!방금 사전점수 확인하고 신남 아무튼... 소중한 여름방학 중 거의 3주 공부한.... 공부 후기 시작   01. 접수7월 22일 월요일... 접수기간 시작되자마자 계속 할까말까 고민하다가 22시 51분에 걍 에라 모르겠다하고 신청함 사실 나는 이거에 대해서 잘 모르고 있었는데 친구가 알려줘서 오 좋아 한번 해봐야지~~정도 였음...그런데 막상 신청날이 되니 가격이 5만원이길래 아 진짜 할 수 있나 애초에 이게 뭐하는 거지급하게 sql에 대해 이것저것 알아보다 유튜브 인강도 있고 노랭이 문제집이 유명하다길래 그걸로 공부해야겠다 하고 신청한 것이었음  02. 공부접수하고 나서 사람들 후기 찾아봤는데아니 거의 다 2주만에 합격했다고 하시는데... 그 당시엔 이거 보고 오 쉽나보네~했다.하지만..
01. 게시글 삭제이번엔 버튼을 눌렀을 때 게시글이 삭제될 수 있도록 구현하는 차례다. 먼저 서비스에서 삭제 함수를 만들어 준다.해당 id값을 받으면 deleteById를 통해 repository에서 지워준다.// 특정 게시글 삭제public void boardDelete(Integer id) { boardRepository.deleteById(id);}  그리고 컨트롤러에서 서비스함수를 이용하여 GetMapping을 시켜준다.board/delete 페이지에서 삭제를 했다가 redirect를 통해 다시 리스트 페이지로 넘어가게 된다.@GetMapping("board/delete")public String boardDelete(@RequestParam("id") Integer id) { boar..
rim08
'분류 전체보기' 카테고리의 글 목록 (3 Page)