블로그

윤승현

[인프런 워밍업 클럽 CS 2기] - CS 3주차 발자국

강의 수강[운영체제]세그멘테이션 : 메모리를 서로 다른 크기의 논리적 단위인 세그먼트로 나누어, 각 세그먼트가 독립적인 주소 공간을 가지도록 관리하는 기법이다.페이징 : 메모리를 할당할 때 정해진 크기의 페이지로 나눈다.페이지드 세그멘테이션 : 세그멘테이션과 페이징을 혼합해 장점을 취한 방식이다. 디맨드 페이징 : 디맨드 페이징은 조만간 필요할 것 같은 데이터를 메모리로 가져오고 쓰이지 않을 것 같은 데이터는 스왑영역으로 이동시키는 정책이다.페이지 교체 정책 : 메모리에 있는 페이지를 스왑영역으로 옮길 때 어떤 페이지를 선택할지 결정하는 정책이다.스레싱 : CPU 사용률을 높이려 했지만 오히려 더 떨어지는 상황을 '스레싱'이라고 한다.워킹셋 : 메모리에 올라온 페이지는 다시 사용할 확률이 높기 때문에 하나의 세트로 묶어서 메모리에 올리는 것을 '워킹셋'이라고 한다. 그리고 프로세스가 준비상태에서 실행상태가 되는 컨텍스트 스위칭을 할 때 사용된다.주변 장치 : 그래픽 카드, 하드디스크, SSD, 키보드, 마우스 등 여러가지가 있다. 그리고 캐릭터 디바이스와 블록 디바이스 두 가지로 나눌 수 있다.마우스/키보드 : 사용자 입력 장치이다.하드디스크 : 기계식으로 저렴하다. 비휘발성 저장 장치이다.Flash Memory(SSD) : 전자식으로 빠르고 고가이다. 비휘발성 저장 장치이다.파일과 파일시스템 : 파일은 데이터를 저장하는 논리적 단위이며, 파일시스템은 이러한 파일들을 효율적으로 저장, 관리, 접근할 수 있도록 조직화하는 구조와 메커니즘입니다.디렉토리 : 파일들을 그룹화하고 계층적으로 조직하여 쉽게 관리하고 접근할 수 있도록 하는 파일 시스템 내의 구조이다.[자료구조와 알고리즘]삽입 정렬장점 : 이해와 구현이 간단하다.단점 : 성능이 O(n²)으로 성능이 좋지 않다.시간 복잡도 : O(n²) 병합 정렬장점 : 성능이 좋다.단점 : 재귀적인 기법으로 이해하기가 조금 어렵다. 그리고 이해와 구현이 어렵다.시간 복잡도 : O(nlogn) 퀵 정렬장점 : 평균적으로 빠른 속도를 내서 성능이 좋다.단점 : 안정적인 정렬을 보장하지 않는다.시간 복잡도 : 평균 시간 복잡도는 O(nlogn), 최악의 경우 시간 복잡도는 O(n²)메모이제이션계산 결과를 캐시에 저장하여 동일한 계산을 반복하지 않고 효율적으로 문제를 해결하는 동적 프로그래밍 기법이다.타뷸레이션문제를 작은 하위 문제로 나누어, 이들을 반복적으로 해결하고 결과를 표 형태로 저장하여 최종 결과를 도출하는 동적 프로그래밍 기법이다.[회고]칭찬하고 싶은 점강의를 들으면서 노션으로 강의 내용을 정리하는 점발자국도 작성하고 미션도 해결한 점모든 강의를 다 들은 점! 아쉬웠던 점역시 시간표대로 학습하지 않은 점.... 일하면서 공부하기 쉽지 않다... 그리고 강의를 들으면 들을 수록 어려워져서 100% 완벽하게 이해하고 넘어가질 못했다. 그래서 이 인프런 워밍업 클럽이 끝나도 강의를 반복해서 들어야 할 것 같다. 마지막 소감3주 동안 강의를 들으면서 공부를 했는데 회사 다니면서 하기 쉽지 않다.... 회사 다니시고 시간표 맞춰서 하시는 분들은 진짜 대단하신 것 같다. 나는 나태해서... 핫핫핫 그래도 시간표대로 강의를 듣지는 않았지만 주차 별로 끊어서 강의를 들으니 강의를 진행함에 있어서 좀 괜찮았다. 미션회고마지막 주차라 그런 건지 몰라도 점점 어려워지는 느낌이라 시간이 쫌 걸렸다. 그래도 끝까지 해결해서 다행이다! ㅎㅎCS 3주차 미션 링크https://www.inflearn.com/blogs/9005

발자국CS발자국인프런워밍업클럽

윤승현

[인프런 워밍업 클럽 CS 2기] - CS 2주차 발자국

강의 수강[운영체제]SJF(Shortest Job First) : Burst Time이 짧은 프로세스를 먼저 실행하는 알고리즘을 만들기로 하고 SJF(Shortest Job First)라는 이름을 붙였다. 한글로 해석하면 “짧은 작업 먼저” 라는 뜻이다.RR(Round Robin) : RR 알고리즘은 한 프로세스에게 일정 시간만큼 CPU를 할당하고 할당된 시간이 지나면 강제로 다른 프로세스에게 일정 시간만큼 CPU를 할당한다.MLFQ(Multi Level Feedback Queue) : MLFQ는 기본적으로는 CPU 사용률과 I/O 사용률이 좋게 나오는 작은 크기의 타임 슬라이스를 선택한다.프로세스 간 통신 : 프로세스는 독립적으로 실행되기도 하지만 다른 프로세스와 데이터를 주고 받으며 통신을 하는 경우도 있다.통신은 한 컴퓨터 내에서 실행되고 있는 다른 프로세스와 할 수도 있고 네트워크로 연결된 다른 컴퓨터에 있는 프로세스와 할 수도 있다.공유자원 : 프로세스 간 통신을 할 때 공동으로 이용하는 변수나 파일들이 있는데 이런 것들을 공유자원이라고 한다.임계구역 : 여러 프로세스가 동시에 사용하면 안되는 영역을 정의했는데 이를 “임계 구역(Critical Section)” 이라고 한다.세마포어 : 프로세스 간의 동기화를 위해 사용되는 변수이다.모니터 : 모니터는 따로 운영체제가 처리하는 것이 아니라 프로그래밍 언어 차원에서 지원하는 방법이다.교착상태(데드락) : 여러 프로세스가 서로 다른 프로세스의 작업이 끝나기를 기다리다가 아무도 작업을 진행하지 못하는 상태를 ‘교착상태’라고 한다. [자료구조와 알고리즘]재귀 : 함수가 자기 자신을 호출하는 프로그래밍 기법이다. 어떤 문제를 해결하기 위해, 그 문제를 더 작은 하위 문제로 나누고, 그 하위 문제를 해결하는 방식으로 문제를 푸는 것이다.하노이 탑 : 세 개의 막대와 여러 개의 크기가 다른 원반을 사용하여 첫 번째 막대에 쌓인 원반을 세 번째 막대로 모두 옮기는 문제이다.재귀적 해법은 n-1개의 원반을 보조 막대를 사용해 목표 막대가 아닌 다른 막대로 옮긴다. 그리고 가장 큰 원반을 목표 막대로 옮기고 n-1개의 원반을 다시 목표 막대로 옮긴다.버블 정렬 : 인접한 두 원소를 비교하여, 필요하면 자리를 교환하는 과정을 반복하여 정렬하는 알고리즘이다.선택 정렬 : 리스트에서 매번 가장 작은 원소를 찾아서, 정렬되지 않은 부분의 첫 번째 원소와 교환하는 방식이다. [회고]칭찬하고 싶은 점강의를 들으면서 노션으로 강의 내용을 정리하는 점발자국도 작성하고 미션도 해결한 점시간표대로 학습을 진행하지는 않았지만 한 주차마다 들어야 하는 강의는 다 들었다.아쉬웠던 점시간표에 맞게 학습을 하지 않은 점, 저번 주에도 시간표에 맞게 학습을 하지 않아서 이번 주는 꼭! 시간표에 맞게 학습하자고 다짐을 했지만....ㅠㅠ 시간표 대로 학습을 하지는 않았지만 시간이 날 때 마다 강의를 수강했다.보완하고 싶은 점3주차부터는 시간표에 맞게 학습하기! (최대한 노력하자!)회사 퇴근하고 시간 더 내서 꼼꼼히 학습하자!미션[회고]미션을 하면서 공부한 내용들을 다시 복습하는 점이 좋았다. 복습을 하면서 내가 놓쳤던 부분들을 알고 가니 더 이해가 되는 것 같다.[CS 2주차 미션 링크]https://www.inflearn.com/blogs/8829  

발자국CS발자국인프런워밍업클럽

채널톡 아이콘