분류 전체보기 141

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 41회차 미션

환급미션 41일째... 운영체제 - 자료구조와 알고리즘 - 스택을 활용한 계산기 만들기 운영체제 - 자료구조와 알고리즘 - 큐 목표 : 중위 표기법-> 후위 표기법으로 변환하는 방법 후위 표기법을 계산해 결과값 도출하는 방법 => 스택 자료구조를 이용해 계산기 구현 - 중위 표기법 사람이 수식을 표기할 때 일반적으로 사용하는 표기방법 ex) 7 * 5 + 3 ===> 피연산자 사이에 연산자가 들어감 - 후위 표기법 컴퓨터가 계산하기 편한 표기방법 ex) 7 5 * 3 + ===> 연산자가 뒤쪽에 위치 - 스택을 활용해 수식을 계산하는 방법 1. 수식을 후위 표기법으로 변환 2. 후위 표기법을 계산하여 결과 도출 * 스택 구현하기 ------------------------------------------..

패스트캠퍼스 2020.11.28

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 40회차 미션

환급미션 40일째... 소프트웨어 베이직 - 자료구조와 알고리즘 - 03. 양방향 연결 리스트 - 양방향 연결 리스트 머리head와 꼬리tail을 모두 갖는다. 각 노드는 앞 노드와 뒤 노드의 정보를 모두 저장하고 있다. * 데이터를 '오름차순'으로 저장하는 양방향 연결리스트를 구현해볼 것이다. 기본적으로 위와 같이 코드가 구성되고, 위와 같이 삽입할 노드가 각각 앞, 뒤 노드와 양방향으로 연결되도록 한다. 해당 함수의 코드는 위와 같다. 경고메시지는 일단 무시... ^^; 위와 같이 연결리스트 삭제하는 함수도 넣어줄 것이다. (가장 앞쪽에 있는 노드를 삭제하는 함수를 만들 예정) 위와 같이 코드를 작성한다. 마지막으로, node를 모두 출력하는 함수를 작성할 것이다. 현재 보고있는 원소의 데이터를 출력..

패스트캠퍼스 2020.11.27

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 39회차 미션

환급미션 39일째... 운영체제 - 프로세스와 스케쥴러의 이해 - 12. 프로세스 구조와 힙 운영체제 - 프로세스와 스케쥴러의 이해 - 13. 프로세스 구조와 스택 오버플로우 운영체제 - 프로세스와 스케쥴러의 이해 - 14. 컨텍스트 스위칭 원리 운영체제 - 프로세스와 스케쥴러의 이해 - 15. 컨텍스트 스위칭 개념 정리 - Heap이란? heap - 동적으로 생성되는 메모리 부분 에 대해 조금 더 상세하게 다뤄볼 예정 파이썬에서는 동적 메모리 할당은 생각할 필요가 없다. 하지만 내부적으로 컴퓨터를 세세하게 제어하려면 c언어만한 게 없다.. int *data; 정수형으로 공간이 필요하다는 것을 미리 알 수 있다. main 함수 내부에 선언되어 있으므로 함수 안에 있는 로컬변수처럼 취급되게 된다. mall..

패스트캠퍼스 2020.11.26

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 38회차 미션

환급미션 38일째... 운영체제 - 프로세스와 스케쥴러의 이해 - 10. 프로세스 구조 운영체제 - 프로세스와 스케쥴러의 이해 - 11. 프로세스 구조와 컴퓨터 구조 - 프로세스와 컨텍스트 스위칭 * 컨텍스트 스위칭 A라는 프로세스가 실행되다가, 스케쥴러에 의해 B라는 프로세스로 교체 이 때, 바꿔주는 매커니즘을 '컨텍스트 스위칭'이라고 한다. * 현업에서 실제로 실행파일의 구조를 알아내야 할 때가 있다. 디버깅을 통해 문제점을 찾아낸다던지.. 할 일이 많다. 이런 일들을 위해 프로세스 구조를 알아야 한다. - 프로세스 구조 사실 파이썬은 인터프리터 언어이기 때문에 컴파일러가 필요 없고, 실행파일을 만들지 않는다. 컴파일한다고 가정하고(0/1로 구성되는 기계어로 변환), 프로세스를 살펴보기로 한다. 프로..

패스트캠퍼스 2020.11.25

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 37회차 미션

환급미션 37일째.. 운영체제 - 프로세스와 스케쥴러의 이해 - 07. 인터럽트란? 운영체제 - 프로세스와 스케쥴러의 이해 - 08. 인터럽트 종류 운영체제 - 프로세스와 스케쥴러의 이해 - 09. 인터럽트 내부 동작 - 인터럽트란? cpu가 프로그램을 실행하고 있을 때, 입출력 등의 장치 (이벤트 발생) 또는 예외상황이 발생했을 때 cpu에 알려서 처리하는 기술 어느 한 순간, cpu가 실행하는 명령은 하나. 위의 그림에서 파일 읽기가 끝나고 block / wait -> running으로 넘어가게 하는 것을 인터럽트라 한다. - 인터럽트가 필요한 이유 * 선점형 스케쥴러 구현 running 하는 도중 스케쥴러에 의해 ready 상태로 바꿔주는데, 그런 기능이 가능하게 하는 기술이 '인터럽트' -> 선점..

패스트캠퍼스 2020.11.24

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 36회차 미션

환급미션 36일째... 운영체제 - 프로세스와 스케쥴러의 이해 - 05. 선점형과 비선점형 스케쥴러 운영체제 - 프로세스와 스케쥴러의 이해 - 06. 스케쥴링 알고리즘 조합 - 선점형과 비선점형 스케쥴러 *선점형 스케쥴러 (preemptive scheduling) 비선점형 스케쥴러에 비해 개선됨 하나의 프로세스가 다른 프로세스 대신에 프로세서(cpu)를 차지할 수 있음 프로세서 running 중에 스케쥴러가 중단시키고, 다른 프로세스로 교체 가능 *비선점형 스케쥴러 (non-preemptive scheduling) 하나의 프로세스가 끝나지 않으면 다른 프로세스는 cpu를 사용할 수 없음 프로세스가 자발적으로 blocking 상태로 들어가거나, 실행이 끝났을 때만(end) 다른 프로세스로 교체 가능 * 선..

패스트캠퍼스 2020.11.23

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 35회차 미션

환급미션 35일째... 운영체제 - 프로세스와 스케쥴러의 이해 - 03. 프로세스 상태와 스케쥴러 운영체제 - 프로세스와 스케쥴러의 이해 - 04. 프로세스 상태 기반 스케쥴링 알고리즘 기본 - 멀티 프로그래밍과 wait 멀티 프로그래밍 : cpu 활용도를 극대화하는 스케쥴링 알고리즘 wait : 간단히 저장매체로부터 파일 읽기를 기다리는 시간으로 가정 위 그림에서 Combined == Scheduler로 가정, 제일 먼저 A process 가 실행 가능한 상태, A가 끝나는 시점에 B process가 실행 가능한 상태, B가 끝나는 시점에 C process가 실행 가능한 상태인데 이를 연달아 실행하게 되는 상태가 cpu의 활용도가 증가하게 되는 것이다. * 프로세스 상태 running state : 현..

패스트캠퍼스 2020.11.22

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 34회차 미션

환급미션 34일째.. 운영체제 - 프로세스와 스케쥴러의 이해 - 01. 스케쥴링 알고리즘 기본 1 운영체제 - 프로세스와 스케쥴러의 이해 - 02. 스케쥴링 알고리즘 기본 2 * 프로세스 (process) : 메모리에 올려져서, 실행 중인 프로그램 (작업, task, job이라는 용어와 유사한 용어로 혼용되기도 한다) 응용프로그램 != 프로세스 (응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음) (간단한 c/c++ 프로그램을 만든다면 -> 하나의 프로세스) (여러 프로그램을 만들어서, 서로 통신하면서 프로그램을 작성할 수도 있음 - IPC 기법) 코드 이미지(바이너리): 실행파일 ex) ELF format - 스케쥴러와 프로세스 (스케쥴러 : 프로세스 실행을 관리) * 스케쥴링 알고리즘 ( 어느 ..

패스트캠퍼스 2020.11.21

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 33회차 미션

환급미션 33일째.. 운영체제 - 운영체제 핵심 개념잡기 - 10. 스케쥴링 - 배치 처리, 멀티 태스킹, 멀티 프로세싱 상세 운영체제 - 운영체제 핵심 개념잡기 - 11. 스케쥴링 - 멀티 프로그래밍 - 배치 처리 시스템 일괄 처리, 배치 처리, batch processing이라고 부름 컴퓨터 프로그램 실행 요청 순서에 따라 순차적으로 실행하는 방식 한 번에 등록된 여러 프로그램을 순차적으로 실행 가능 * Queue first in first out - 배치 처리 시스템과 시분할 시스템/멀티 프로그래밍 비교 배치 처리 시스템 : 여러 프로그램을 순차적으로 실행시키기 위해 등장 -> 어떤 프로그램은 실행 시간이 너무 오래 걸려서, 다음 프로그램이 실행되기까지 오래 걸린다. -> 동시에 여러 프로그램을 실..

패스트캠퍼스 2020.11.20

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 32회차 미션

환급미션 32일째.. 운영체제 - 운영체제 핵심 개념 잡기 - 08. 운영체제 구조 - 시스템콜 운영체제 - 운영체제 핵심 개념 잡기 - 09. 운영체제 구조 - 사용자 모드와 커널 모드 응용 프로그램, 운영체제, 컴퓨터 하드웨어(시스템 리소스) 관계 도서관으로 비유 운영체제 : 도서관 응용 프로그램 : 시민 컴퓨터 하드웨어 : 책 -> 시민은 도서관에 원하는 책(자원) 요청, 도서관은 적절한 책을 찾아서 시민에게 빌려줌, 기한이 다 되면 도서관이 해당 책 회수 -> 운영체제는 응용프로그램이 요청하는 메모리를 허가, 분배하고, cpu 시간을 제공하며, IO Device 사용을 허가/제어한다. - 사용자, 응용프로그램, 운영체제, 컴퓨터 하드웨어 간의 관계 * 운영체제는 사용자 인터페이스 제공 쉘(shel..

패스트캠퍼스 2020.11.19