운영체제가 뭔데? 이름부터 어려운게 거부감 드는데?

2024. 5. 3. 00:40·컴퓨터과학/운영체제
728x90

운영체제 흔히들 OS(Operating System)이라고 표현한다.

OS는 모르겠고 나는 오예스를 좋아한다.

오예스 우유랑 먹으면 꿀맛임

운영체제는 OS라고 표현하는데 영어로 Operating System으로 동작 시스템이란 뜻이다.

쉽게말해 컴퓨터가 어떻게 동작하는지를 배우는 학문이다.

컴퓨터가 어떻게 동작하는지 궁금하지 않은가? 궁금하지 않다. 그래도 어쩌겠는가 취업은 해야지.


컴퓨터의 동작을 이해하기 위해서는 컴퓨터의 구성 요소로 뭐가 있는지 알아야 한다.

핵심적인 것만 소개하도록 하겠다.

중앙처리장치, 처리기, CPU(Central Processing Unit) : 컴퓨터의 뇌다. 사람의 뇌가 생각해서 계산하고, 행동을 제어하지 않는가? 마찬가지다.

주기억장치, 메인메모리(main memory) : 기본 저장장치라고 생각하면 된다. 휘발성이라는 특성이 있는데 전원이 나가면 데이터가 휘발~~~ 날라간다는 뜻이다.

보조기억장치, 저장장치, 보조장치(storage device) : 주기억장치에 비해 속도는 느리지만 용량이 크다. 보조베터리 같은 느낌이다. 얘는 비휘발성이라 휘발~~~ 되지 않는다. 데이터가 그대로 남아있다.

입출력장치, I/O장치 : 입력을 하는 장치로 키도브, 마우스 등이 있고 출력되는 장치로 모니터, 프린터 등이 있다. 이거는 모를수가 없지,, 암.


이런 구성요소들 사이에서 명령어들이 왔다갔다하며 데이터가 이동하는 원리이다. 데이터가 이동하면서 잠시 담아둘 그릇이 필요하지 않은가? 데이터를 계속 옮기는게 아닌 잠시 옮겨두고 쉬어야지! 그 잠시 놔두는 곳을 레지스터(저장장치)라고 한다. 근데 레지스터 아무곳에 놔두는 것이 아닌, 각각 용도에 맞는 레지스터에 놔둔다.

PC = 프로그램 카운터 : 명령어가 들어오게 되면 값이 +1 된다. 이후 자세하기 다루도록 하겠다.

IR = 명령어 레지스터 : 들어온 명령어를 담아두는 곳이다.

MAR = 메모리 주소 레지스터 : 다음에 실행할 명령어는 주소를 가지고 있는데, 그 값을 기록한다.

MBR = 메모리 버퍼 레지스터 : 주소를 제외한 데이터 값을 넣어둔다.

I/O AR = 입출력 주소 레지스터

I/O BR = 입출력 버퍼 레지스터


컴퓨터의 구성요소에 무엇이 있는지 알게 되었으니 동작들에 대해 설명하도록 하겠다.

명령어 실행은 2단계로 나눌 수 있다.

CPU가 메모리를 읽기 위한 과정으로 '반입' 과정

가저온 명령어를 처리하기 위한 '수행' 과정

이때 PC(프로그램 계수기)는 다음에 반입할 명령어의 주소를 저장한다. 이후 +1 된다.

728x90

'컴퓨터과학 > 운영체제' 카테고리의 다른 글

메모리 관리  (1) 2024.05.31
병행성 : 교착상태와 기아  (0) 2024.05.31
운영체제 병행성 : 상호배제와 동기화  (0) 2024.05.14
프로세스를 생성하는 fork()함수를 알아보자  (1) 2024.05.06
What is 쓰레드?  (0) 2024.05.06
'컴퓨터과학/운영체제' 카테고리의 다른 글
  • 병행성 : 교착상태와 기아
  • 운영체제 병행성 : 상호배제와 동기화
  • 프로세스를 생성하는 fork()함수를 알아보자
  • What is 쓰레드?
튼튼발자
튼튼발자
프론트엔드 개발자입니다. 헬스를 가끔해서인지 몸이 튼튼한거 같습니다. 그래서 튼튼한 개발자 => 튼튼발자입니다. 프론트엔드 및 관련 개발 내용 블로그 글로 정리해서 올려둡니다.
    250x250
  • 튼튼발자
    튼튼발자
    튼튼발자
  • 전체
    오늘
    어제
    • 분류 전체보기 (192)
      • 튼튼발자의 끄적끄적 (10)
      • 웹개발 (94)
        • HTML (5)
        • CSS (2)
        • JavaScript (40)
        • TypeScript (5)
        • REACT (22)
        • Next.js (13)
        • GIt (7)
      • 기타 (3)
        • 일상 (3)
      • 프로젝트 (27)
        • Componique: UI 컴포넌트 라이브러리 (18)
        • GitHub Profile Viewer (8)
        • 잇핏 (1)
      • 프론트엔드 개발자로 취업준비 (1)
        • 기술 면접 (7)
        • 코딩 테스트 준비하기 (0)
        • 자기소개서&지원서&이력서 (0)
      • 컴퓨터과학 (12)
        • 운영체제 (6)
        • 알고리즘 (6)
      • 전공 공부 (37)
        • AI(인공지능) (2)
        • 컴퓨터네트워크 (19)
        • 네트워크프로그래밍 (3)
        • SW소프트웨어응용설계 (7)
        • 클라우드컴퓨팅 (3)
        • 웹서비스프로그래밍 (3)
      • PT (0)
      • 취준일기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    웹개발
    componique
    상태관리
    tailwind
    네트워크
    트랜스포트계층
    TCP
    ui컴포넌트
    프론트엔드
    JavaScript
    프론트엔드개발
    자바스크립트
    github
    데이터전송
    NextJs
    코딩
    프로그래밍
    JS
    react
    리액트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
튼튼발자
운영체제가 뭔데? 이름부터 어려운게 거부감 드는데?
상단으로

티스토리툴바