컴퓨터 개념1

yoon__0_0·2024년 5월 7일
0

이어드림 수업

목록 보기
14/103

컴퓨터란?

  • 계산기
  • 좁은 의미의 컴퓨터 : CPU, RAM으로 이루어진 것
  • 넓은 의미의 컴퓨터 : 입출력장치, 보조기억 장치가 모두 포함되어 있는 것

컴퓨터가 이해하는 정보

  • 데이터 : 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상 등과 같은 정적인 정보
  • 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보
  • 프로그램 : 명령어들의 모음

컴퓨터의 구조

하드웨어

  • 물리적인 장치 (만질 수 있음)
  • 컴퓨터 부품들 (cpu, ram, devices 등)
  • 임베디드 엔지니어들이 많이 다루는 것들

소프트웨어

  • 논리적인 것
  • 눈에 보이고 사용할 수 있지만 만질 수 없음.
  • 개발자들이 보통 많이 다루는 것들
  • 운영체제와 사용자 프로그램으로 나눌 수 있음.
    • 운영체제 : 커널, os라이브러리로 나뉨
    • 사용자 프로그램 : 우리가 사용하는 프로그램들 ( 크롬, 워드 등등)

소프트웨어

운영체제 개념

운영체제
사용자 프로그램(앱)이 동작할 수 있도록 cpu에게 일을 시키는 주체

  • 즉, 하드웨어와 소프트웨어(앱)을 이어주는 역할을 함.
  • 운영체제 종류
    • PC : 윈도우, 리눅스, 맥 os , Dos(윈도우의 이전 os)
    • 모바일 : 안드로이드 ,ios

운영체제 목적 및 기능

  • 목적 : 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축
  • 기능
    1) 프로세서, 기억장치, 입출력 장치, 파일 및 정보등의 자원관리
    2) 자원의 스케줄링 기능
    3) 사용자와 시스템 간 편리한 인터페이스 제공
    4) 시스템의 각종 하드웨어와 네트워크 관리 및 제어
    5) 하드웨어와 네트워크 관리

운영체제가 제공하는 서비스

1) 프로그램 실행

  • 프로그램을 메모리에 올리고 실행하는 것이 가능

2) I/O Operations

  • 프로그램을 실행할 때에는 파일이나 디바이스 같은 I/O가 요구되며 이를 컨트롤 해줌

3) File-system 조작

  • 프로그램은 파일이나 디렉토리를 읽고 쓸때가 있음
  • 파일이나 디렉토리 이름을 짓거나 특정 파일 검색

4) communication

  • 프로세스들 끼리 정보를 교환하는 경우
  • 프로세스들 간의 커뮤니케이션이나 네트워크를 이용해 서로 다른 컴퓨터가 커뮤니케이션 해야하는 경우
  • 이 커뮤니케이션은 shared memory를 이용하게 되는데 이때 이 데이터를 읽고 쓰는 일을 함.

5) resource allocation

  • 다수의 프로세스가 동시에 실행될 때 운영체제는 각 프로세스에 자원을 할당하는 역할을 함.
  • 이때 자원은 cpu, memory, storage 등을 의미

커널(Kernel)

커널
컴퓨터 운영체제의 핵심이 되는 컴퓨터 프로그램으로 시스템의 모든것을 통제함.

  • 운영체제의 한 부분으로 프로그램(명령어들의 집합)이다.
  • 하드웨어(보조기억장치)에 저장되어 있다가 컴퓨터의 전원을 키면(로딩) ram에 저장됨. 이를 부팅이라고 함.
  • 따라서, 컴퓨터가 실행 될 때에는 커널이 항상 ram에 올라가있기 때문에 ram에서 커널 공간은 빼고 사용가능함.

쉘(shell)


운영체제 상에서 다양한 운영체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램

  • 셀은 사용자와 운영체제의 내부 사이의 다리 역할을 하는 프로그램
  • 즉 사용자가 운영체제에게 일을 시키기 위해서는 셀을 통해서 가능함 ( 사용자가 운영체제와 상호작용하기 위해선 쉘을 이요함)
  • 종류 : bash(우분투), zsh(맥분) 등

유저인터페이스

유저인터페이스 (UI)
사람과 사물(시스템, 기계 등) 사이에서 의사소통을 할 수 있도록 도와주는 것

1) GUI(graphical user interface)

  • 윈도우의 경우 그래픽 유저 인터페이스를 제공하는데, 이를 이용하면 유저는 마우스와 키보드로 원하는 작업이 가능함
  • 더블클릭시 프로그램 실행

2) Touch screen ineterface

  • 모바일의 경우 이를 제공함.
  • 손가락으로 원하는 작업 가능

3) Command-line interface(CLI)

  • 키보드로 명령어를 타이핑해서 사용
profile
신윤재입니다

0개의 댓글