본문 바로가기

컴퓨터 공학27

Chapter 1. Introduction 안녕하세요 조엘입니다! 운영체제 1단원에 대해 공부해 보았습니다. Abraham Silberschatz의 Operating System Concepts 10th edition과 학부 수업을 듣고 정리한 내용입니다. 오개념이 있다면 알려주세요~~ 사용자 관점: 사용의 용이성을 높여준다. 자원의 이용에는 신경 쓰지 않게 해준다. 시스템 관점: 컴퓨터 하드웨어의 자원 할당, 유저 프로그램의 제어를 담당한다. 운영 체제는 항상 실행 중인 커널과 커널의 일부는 아니지만 OS와 관련된 시스템 프로그램(쉘, 컴파일러, 디버거 등등)으로 이루어져 있다. 운영 체제의 심장이자, 운영 체제를 규정 짓는 매우 중요한 부분! HW의 자원을 필요한 프로세스에 나눠주고, 프로세스 제어, 메모리 제어, 시스템 콜 수행 등 운영체제.. 2020. 9. 10.
0. 시작 알고리즘 공부를 하나씩 시작! 조금씩 꾸준히 순서대로 준비를 해보도록 하자! +) 프로그래머스 정책에 따라 해당 문제풀이 포스팅은 비공개로 전환하였습니다. (2021.09.26~) 2020. 9. 3.
예외적인 제어흐름 (1부) 안녕하세요 파피몬입니다! 오늘은 예외적인 제어흐름에 대해 공부해봤습니다! Computer Systems A Programmer's Perspective (3rd Edition)의 내용을 공부한 것을 토대로한 포스팅입니다. 오개념이 있다면 알려주세요! 1부, 2부로 나눠져있습니다 :) 프로세서에 전원을 처음 공급하고 전원을 끌 때까지, 프로세서는 프로그램의 인스트럭션을 수행하게 된다. 하지만 현대 컴퓨터 시스템들은 프로그램의 실행과 반드시 관련이 있지 않은 시스템의 변화에도 반응할 수 있어야 한다! ex) HW타이머, 패킷의 네트워크 어댑터 도착, 디스크로부터 페이지 요청, 부모 프로세스가 자식 프로세스 기다리기 등등... 이를 예외적인 제어 흐름(Exceptional Control Flow)이라고 부른다.. 2020. 8. 30.
링커 (2부) 안녕하세요 파피몬입니다! 오늘은 링커에 대해 공부해봤습니다! Computer Systems A Programmer's Perspective (3rd Edition)의 내용을 공부한 것을 토대로한 포스팅입니다. 오개념이 있다면 알려주세요! 1부, 2부로 나눠져있습니다 :) ./prog로 실행하게 된다. 운영체제 입장에서 prog라는 커맨드를 처음 마주하게 되고, 아 이게 실행가능한 목적 파일이겠거니 하고 로더를 호출해준다. 디스크에 있던 실행가능한 목적파일의 code/data영역이 메모리에 복사되고, 프로그램의 엔트리 포인트에서 프로그램이 실행되게 된다. 1부에서 정적 링크의 단점을 넌지시 얘기해 봤다. printf()같이 자주 쓰이는 함수는 정적 링크로 실행 파일을 만들게 되면, 너도 나도 우리 모두 p.. 2020. 8. 29.
링커 (1부) 안녕하세요 파피몬입니다! 오늘은 링커에 대해 공부해봤습니다! Computer Systems A Programmer's Perspective (3rd Edition)의 내용을 공부한 것을 토대로한 포스팅입니다. 오개념이 있다면 알려주세요! 1부, 2부로 나눠져있습니다 :) 링커: 여러개의 코드와 데이터를 모아서 이를 연결해, 메모리에 로드 될 수 있고, 실행될 수 있는 한 개의 file을 만들어 내는 역할을 수행한다! 대부분의 컴파일 시스템은 사용자를 대신해 언어 전처리기, 컴파일러, 어셈블러, 링커를 필요에 따라 호출하게 만들어졌다. 이를 컴파일러 드라이버라고 한다. ex) GCC 드라이버 컴파일을 모두 마친 실행 파일을 prog라고 한다면, 우리는 쉘에 ./prog 라는 명령어를 통해 해당 파일을 실행.. 2020. 8. 29.
쉘(Shell)에 관하여 사실 운영체제와 시스템 쪽은 아직 내가 깊게 공부를 하지 않아서 잘 모른다ㅜㅜ 하지만 오늘 그래도 나름 새로운 지식(?)을 깨달은 것 같아 블로그에 포스팅 해보려고 한다. 만약 내가 잘못알고 있는게 있다면 제발 알려주셨으면 한다! Shell은 하드웨어를 동작하게 해주는 사용자 명령어 해석기! 커널(간략히 운영체제라고 생각하자)을 직접 사용자가 조작하는 것은 거의 불가능하다고 한다. 고로 커널을 조작할 수 있는 쉘이 내가 하드웨어와 소통할 수 있는 최밑단의 방법이다. 쉘에서 명령어를 치면, 커널이 쉘의 명령을 번역하여 알아듣고, 커널이 하드웨어에게 해당 명령을 수행해 달라고 부탁을 또 한다. 쉘은 종류가 한개가 아니다! Powershell, bash, cmd, zsh 등등 사용자에게 맞는 쉘을 통해 자기에.. 2020. 5. 10.
컴퓨터 네트워크 3강 이번 학기에 전공 수업으로 컴퓨터 네트워크를 수강 중입니다. 공부하면서 적는 포스팅이니, 내용이 정확하지 않을 수 있습니다. Computer Networking (7th edition) - Jim Kurose, Keith Ross 책을 기반으로 작성하였습니다. 오류가 있다면 친절하게 알려주시면 감사하겠습니다!! **해당 포스팅을 참고하여 작성하였습니다!** https://blog.naver.com/PostView.nhn?blogId=myca11&logNo=221389847130&categoryNo=24&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView 소켓(Socket) 포트(Port) 뜻과 차이 나도 개발자지만 소켓과.. 2020. 4. 9.
컴퓨터 네트워크 2강 이번 학기에 전공 수업으로 컴퓨터 네트워크를 수강 중 입니다. 공부하면서 적는 포스팅이니, 내용이 정확하지 않을 수 있습니다. Computer Networking (7th edition) - Jim Kurose, Keith Ross 책을 기반으로 작성하였습니다. 오류가 있다면 친절하게 알려주시면 감사하겠습니다!! 0. 패킷의 Loss / Delay 가 일어나는 법 - 패킷은 라우터 버퍼에서 줄서서 기다린다. - 패킷 도착률이 출력 링크 수용치를 넘어갈 경우, 패킷은 줄에서 기다리고 순서를 기다린다. - 그러면서 꼬리부분을 버리기도 한다. - Dproc : 프로세싱 과정에서의 Delay * 비트 에러 확인, 출력 링크 결정 - Dqueue : 줄 서서 기다릴때의 Delay * 출력 링크로의 전송까지 기다림.. 2020. 4. 8.
컴퓨터 네트워크 1강 이번 학기에 전공 수업으로 컴퓨터 네트워크를 수강 중 입니다. 공부하면서 적는 포스팅이니, 내용이 정확하지 않을 수 있습니다. Computer Networking (7th edition) - Jim Kurose, Keith Ross 책을 기반으로 작성하였습니다. 오류가 있다면 친절하게 알려주시면 감사하겠습니다!! 0. 네트워크란 - 특별한 하드웨어와 소프트웨어를 사용해 서로 정보를 교환할 수 있게끔 연결된 장치들 1. 인터넷을 바라보는 시각 - "Nuts and Bolts" : 영어로 'Nuts and Bolts'는 '주제/일에 대한 기본적인 사안'이라는 뜻이다. 인터넷이 뭔지 알아보자. * 세상에는 백만개의 컴퓨팅 기기가 연결되어 있다. 이를 우리는 host 또는 end system이라고 부른다. * .. 2020. 4. 7.
반응형