본문 바로가기
C언어 공부(홍정모의 따라하며 배우는 C언어)

홍정모의 따라하며 배우는 C언어[0.0~0.3]

by Min-joong 2022. 2. 1.

드디어 처음으로 방황하는 프로그래밍 일기의 첫 글을 쓰게 되었네요.. 글의 내용은 제가 현재 수강하고 있는 홍정모의 따라 하며 배우는 C언어 강의의 내용을 정리하려고 해요. 학교에서 C언어를 배운 경험은 있지만 "C언어를 완벽히 이해했다"라는 생각이 들 정도로 제가 알고 있다고 생각하지 않아요. 이번 강의를 듣고 정리하며 "C언어를 완벽히 이해했다"라는 생각이 들만큼 열심히 해보겠습니다. 많이 부족한 글 봐주셔서 감사하고 피드백은 무조건 환영입니다. 그럼 시작해 볼게요! 

 

0.0 초보 프로그래머를 위한 컴퓨터의 작동 원리 강의 개요

  • 컴퓨터는 크게 Hardware와 software로 구성되어있다. 

0.1 컴퓨터의 구성 요소들

컴퓨터는 크게 3 부분을 나눌 수 있다.

  • 입력장치
  • 컴퓨터 본체
  • 출력장치

여기서 컴퓨터 본체, 즉 PC에는 많은 부품들이 들어가 있다. 첫 번째로 전원 공급장치로 컴퓨터에 전원을 공급해 주는 장치이다. 두 번째로는 중앙처리장치(CPU)인데 이는 세 번째로 소개할 주 기억장치와 매우 가까이 위치해 있다. 주 기억장치는 우리가 흔히 부르는 Memory이다. Memory의 종류로는 주로 RAM이 쓰인다. 여기서 RAM이란 Ramdom-access-memory로 임의로 접근이 가능한 Memory를 뜻한다. 주 기억장치의 특징으로는 속도를 위해 전원이 꺼지면 모든 데이터가 사라진다는 점이 있다. 다음으로 보조기억 장치가 있다. 보조기억 장치의 특징으로는 주 기억장치와는 달리 전원을 꺼도 모든 데이터가 존재한다는 점이다. 대신 주기억 장치보다 훨씬 느리다. 마지막으로 그래픽 카드가 있다.


0.2 컴퓨터를 켤 때 일어나는 일들

컴퓨터를 켜기 위해 제일 먼저 해야하 일은 전원을 공급하는 것이다. 다음으로는 부팅 프로그램을 실행하는 것인데 위에 보이는 ROM BIOS는 읽기만 가능한 메모리로 컴퓨터가 처음 켜졌을 때 실행되어야 하는 절차들이 저장되어 있다. 기본적인 하드웨어 검사를 수행하고 운영체제가 실행이 되는데 이는 data의 형태로 존재한다. 위에서 설명했듯이 주 기억장치는 전원이 꺼지면 모든 data가 날아감으로 운영체제는 보조기억장치에 저장되어있다. 이제 마지막으로 운영체제를 실행하여야 하는데 여기서 재밌는 점이 있다. 운영체제를 실행시키기 위해서는 CPU가 운영체제를 실행시켜 주어야 하지만 만 CPU는 오직 주 기억장치와만 data를 주고받는다. 따라서 이를 위해 보조기억장치에 있는 프로그램을 주기억장치에 복사해 가져와 CPU가 운영체제를 실행시켜줄 수 있도록 해준다. 


0.3 운영체제가 해주는 일들

운영체제는 우리가 여러가지 일을 할 수 있게 도와주고 이러한 운영체제가 없으면 컴퓨터를 사용하기 어렵다. 운영체제의 예로는 window, unix, linux, ios, android 등이 있다. 왜 운영체제가 없으면 컴퓨터를 사용하기 어려울까? 우리가 사용하는 마우스, 키보드, 모니터 등 이는 하드웨어에 속한다. 운영체제가 하는 역할 중 하나가 바로 이 하드웨어를 어떻게 사용하는지를 나타내어 놓은 것이다. 만약 이 운영체제가 없다면 우리는 우리 스스로 마우스가 어떻게 작동할지 키보드가 어떻게 작동할지에 대해 일일이 코딩을 하여야 하고 이를 매번 다른 모델마다 어떻게 작동할지 입력해 놓아야 한다. 운영체제는 이러한 수고를 덜어준다. 다른 역할로는 CPU나 Memory 같은 프로그램의 자원을 관리해 주기도 한다.


장황하게 설명한거 같기도 하고 여러모로 부족한 글 봐주셔서 감사합니다. 앞으로 계속 발전해 나가겠습니다. 감사합니다. 다음 글로 찾아뵙겠습니다.

 

출처:https://www.inflearn.com/course/following-c#curriculum

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., - 강의 소개 | 인프런...

www.inflearn.com