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

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

이번주 공부 학습 내용

운영체제

  • 폴링 방식: CPU가 입출력 관리자에게 명령을 내리고 주기적으로 상태를 확인하는 방식.

  • 인터럽트: 폴링 단점을 해결. 입출력 완료 시 CPU에 알림을 주고 작업을 계속 진행.

    • 하드웨어 인터럽트: 입출력 장치 (키보드, 마우스 등).

    • 소프트웨어 인터럽트: 프로그램 오류 시 발생 (예: 0으로 나누기).

  • 프로그램과 프로세스:

    • 프로그램: 저장된 명령문의 집합.

    • 프로세스: 실행 중인 프로그램.

    • 멀티 프로그래밍: 메모리에 여러 프로세스를 올림.

    • 멀티 프로세싱: CPU가 여러 프로세스를 처리.

  • PCB: 프로세스 정보를 저장. 생성, 준비, 실행, 대기, 완료 상태로 관리.

  • 프로세스 상태:

    • 준비: CPU를 기다리는 상태.

    • 실행: CPU를 할당받은 상태.

    • 대기: 입출력 요청 중인 상태.

    • 완료: 프로세스 종료 상태.

  • 컨텍스트 스위칭: 프로세스 간 전환 시 상태 저장 및 복구.

  • CPU 스케줄링 목표: 자원 사용률 극대화, 공평성, 처리량 최적화, 대기시간 감소.

자료구조와 알고리즘

  • 자료구조: 데이터 구조와 사용 방식을 정의.

  • 알고리즘: 문제 해결을 위한 확실한 방법.

  • 배열: 읽기와 쓰기가 빠름 (O(1)).

  • 연결 리스트: 중간 삽입, 삭제가 쉬움.

  • 스택: FILO, 작업 되돌리기와 같은 기능.

  • : FIFO, 운영체제 스케줄링 등에 사용.

  • : 양쪽에서 삽입/제거 가능한 자료구조.

  • 해시 테이블: 키-값 쌍 저장. 빠른 접근 (O(1)).

  • : 중복 허용하지 않음, 해시테이블 사용.

일주일 간의 학습 내용 대한 간단한 회고

  • 일요일까지 목표 강의까지 완주 했다는것에 첫 번째로 만족하고, 바쁘다는 핑계나 귀찮다는 핑계로 평일 저녁이나 쉬는날에라도 학습을 하지않아서 주말에 몰아서 봤던거에 대한 반성을 하게 됩니다 ㅠㅠ

  • 다음주부터는 미루지 않고 하루에 제공되는 챕터를 꾸준히 공부하는 방식으로 바꾸도록 노력 할겁니다!

댓글을 작성해보세요.

채널톡 아이콘