Slut
@asdq
수강평 작성수
-
평균평점
-
블로그
전체 2![[워밍업 클럽_CS 전공 스터디 2기] 1주차 발자국](https://cdn.inflearn.com/public/main/blog/default_thumbnail.png?w=260)
2024. 10. 06.
2
[워밍업 클럽_CS 전공 스터디 2기] 1주차 발자국
강의 수강운영체제운영체제의 탄생배경과 역사를 알게 됐다.그다음 운영체제의 구조와 하드웨 구조..컴퓨터 부팅 과정까지는 재밌었지만.인터럽트부턴 좀 어려워진 것 같다. 갑자기 길을 잃은 느낌? IT에 처음 입문해서 그런 걸지도 모르겠다.그래도 계속 보다 보니 나아지는 거 같다. 일단 영상 내용을 이해하긴 했는데 지금 공부하는 게 최종적으로 무엇 때문에 필요한지,무얼 바라보고 공부하는지는 아직 모르겠다. 하지만 그래도 계속 공부하다 보면 답이 나오리라 믿는다.자료구조이건 운영체제보다 힘들었다. 자료구조와 알고리즘,자바스크립트 해보기 등등을 배웠다.하지만 나에게 For문도 그렇고 arr,wait 등등의 용어가 처음이라무슨 말인지 이해를 못해서 조사하는데 시간이 제일 오래 걸렸다.아직 이해가 덜 되서 계속 보는 중이지만. 다음 주에는 꼭 계속 복습해서 이해할 강의이다.미션일단 답을 적어본 뒤 내가 쓴 답이 확실한지 강의를 한 번 더 봤다.대체로 간단한 객관식 수준의 문제라 어려웠던 건 없었지만. 뭔가 아쉬워서 주관식스럽게 답을 써 내렸다.회고미션은 확실히 도움이 된다. 미션을 통한 공부법은 나에게 맞는 부분이라 다음주도 열심히 공부해서 더 빨리 끝내고싶다.
![[워밍업 클럽_CS 전공 스터디 2기] 1주차 미션](https://cdn.inflearn.com/public/main/blog/default_thumbnail.png?w=260)
2024. 10. 06.
0
[워밍업 클럽_CS 전공 스터디 2기] 1주차 미션
운영체제1번 문제while(true){ wait(1); // 1초 멈춤 bool isActivated = checkSkillActivated(); // 체크 }위 코드는 1초 마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다. 이 방식은 폴링방식입니다. 1초마다 체크하기 때문에 성능에 좋지 않습니다. 이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요? 답변:폴링은 조사라는 의미를 갖고 있으며, cpu가 입출력관리자에게 계속 확인을 하는 구조이다. 이것은 CPU낭비이므로 해결책으론 인터럽트가 있다.입출력관리자가 인터럽트 신호를 보낼때까지 cpu는 다른일을 하고. 작업을 완료한 입출력관리자는 인터럽트를 보낸다. 그럼 CPU는 인터럽트 서비스 루틴을 실행시켜 작업을 완료한다. 2번 문제프로그램과 프로세스가 어떻게 다른가요? 답변:프로그램은 저장장치에 저장된 명령문의 집합체이다. .exe실행파일 같은것들이 있다.프로세스는 이 프로그램이 메모리 위에 올라가서 실행중인 상태다. 이상태에선 cpu도 쓰고 입출력 장치도 쓰고 그런다. 3번 문제멀티프로그래밍과 멀티프로세싱이 어떻게 다른가요? 답변:메모리위에 여러개의 프로세스가 올라온것을 멀티프로그래밍이라 부른다.CPU가 시분할 방식으로 여러개의 프로세스를 처리한것을 멀티프로세싱이라 부른다.올라온것과 처리한것의 차이가 아닌가 싶다 4번 문제운영체제는 프로세스를 관리하기 위해서 어떤 것을 사용하나요?답변:PCB(process control block)을 만들어서 사용한다.1)프로세스관리를 위해 운영체제는 해당 프로세스 정보가 담긴 PCB를 만든다.2)PCB들은 연결리스트라는 자료구조로 저장되어서 해당 프로세스가 종료될때 연결리스트에서 그 PCB도 제거한다(*연결리스트는 각각의 데이터가 다음 데이터를 연결하는 구조로 되어있는 자료구조다.)(*PCB의 구조는 포인터,프로세스 상태,프로세스 ID,프로세스 카운터,레지스터 정보,메모리 관련 정보,CPU 스케줄링 정보 등등으로 이루어져있다.) 5번 문제컨텍스트 스위칭이란 뭔가요?답변:프로세스 상태를 교체하는 작업입니다.예를 들자면 CPU점유시간이 다됐거나,인터럽트가 발생했거나,I/O요청이 있을때 컨텍스트 스위칭이 발생됩니다컨텍스트 스위칭 하는 과정을 설명하자면1)실행중인 프로세스 A가 교체되야할때. 현재 CPU의 레지스터 값을 프로세스A의 PCB A에 저장합니다2)그다음 실행될 프로세스 B의 PCB B에서 레지스터값을 CPU 레지스터로 가져오면. 프로세스 B가 실행됩니다.PCB에 변경하는 값들로는 프로세스 상태,프로그램 카운터,레지스터 정보,메모리 관련 정보 등이 있습니다. 자료구조와 알고리즘1번 문제여러분은 교실의 학생 정보를 저장하고 열람할 수 있는 관리 프로그램을 개발하려고 합니다. 이때 여러분이라면 학생의 정보를 저장하기 위한 자료구조를 어떤 걸 선택하실 건가요? 이유를 함께 적어주세요.답변:배열을 사용하겠음. 학생수에 변동이 크지않기 때문임 2번 문제 여러분은 고객의 주문을 받는 프로그램을 개발하려고 합니다. 주문은 들어온 순서대로 처리됩니다. 이 때 여러분이라면 어떤 자료구조를 선택하실 건가요?답변:큐의 피포방식(선입선출)을 선택하겠음.




