728x90
반응형

운영체제의 구조

사용자와 하드웨어 사이에서 자원을 관리하는 계층으로, 커널, 사용자 인터페이스, 시스템 콜, 파일 시스템, 드라이버 등으로 구성됨.

커널: 프로세스, 메모리, 저장장치를 관리함.
사용자 인터페이스: 사용자는 운영 체제의 커널에 직접 접근할 수 없고, 사용자 인터페이스(GUI, CLI)를 통해 접근 가능함.
EX) GUI: 파일 관리자, CLI: cd 명령어
시스템 콜: 프로그램이 운영체제의 커널에 직접 요청을 보내어 하드웨어나 시스템 자원에 접근할 수 있도록 하는 인터페이스
드라이버: 하드웨어와 커널 사이의 인터페이스
=> 운영체제가 하드웨어 장치를 제어하고 통신할 수 있도록 도와주는 소프트웨어

728x90
반응형

'운영체제 > 1. 운영체제란?' 카테고리의 다른 글

1.2 운영체제의 역사  (0) 2024.09.23
1.1 운영체제란?  (0) 2024.09.23
728x90
반응형

운영체제의 역사

  1. 1940년
    에니악: 특정 명령에 맞는 스위치와 배선을 연결하여 프로그래밍을 함.
    문제 1) 30톤짜리 기계에 많은 스위치와 배선을 이용하기 때문에 인력이 많이 필요하고 시간이 오래 걸림.
  2. 1950년도 초반
    직접회로(IC): 진공관과 전선으로 만들어진 논리 회로를 아주 작은 크기로 만든 전자회로
    => 스위치와 배선 작업을 하는 것보다 훨씬 편해짐
    동작 방식: 펀치 카드를 이용해서 프로그래머가 카드에 구멍을 뚫어 프로그래밍을 하면 컴퓨터가 카드를 읽어 계산을 하고 결과가 프린터로 출력이 됨.
    문제 1) 프로그래머가 작성한 펀치 카드(프로그램)를 오퍼레이터가 컴퓨터에 카드를 넣고 그 결과를 프로그래머에게 전달함. 이런 과정이기에 오퍼레이터의 오버헤드가 너무 컸음.
    문제 2) 입출력 작업을 하는 동안에는 CPU를 사용할 수 없음
  3. 1950년도 중후반
    싱글스트림 배치시스템: 프로그래머가 오퍼레이터에게 펀치 카드 여러 개를 한 번에 전달하고, 컴퓨터는 여러 개의 프로그램을 순서대로 실행해서 결과도 한 번에 확인가능하도록 함
    => 작업이 끝날 때마다 일일이 오퍼레이터가 결과를 꺼내고 다시 다른 프로그램을 실행시키는 과정이 사라져서 CPU 사용량이 올라감.
    I/O 디바이스 컨트롤러: 입출력 중에도 CPU가 계산할 수 있도록 함. 입출력 작업이 끝나면 CPU에게 인터럽트 신호를 주고, 인터럽트를 받은 CPU는 다시 처리를 진행함.
    문제 1) CPU와 입출력을 분리했지만, 입출력에도 CPU를 기다려야 하는 작업이 존재함
            => 입력 처리 작업의 경우 입력이 완료될 때까지 기다려야 함.
  4. 1960년도
    시분할 시스템: 메모리에 여러 프로그램을 올려놓고 시간을 나누어서 번갈아 가면서 프로그램을 실행함.
    UNIX: 멀티프로그래밍, 다중 사용자, 파일 시스템을 구현한 운영체제
    문제 1) 메모리에 여러 프로그램이 올라와서 작업을 진행하기에 메모리 침범 이슈가 발생함
    문제 2) 기존에는 프로그램이 하나라고 가정하고 개발해서 바로 하나의 메모리 위치만 알면 됐는데, 프로그램이 여러 개가 돼서 각 프로그램의 메모리 위치를 알 수가 없어짐.
            => 베이스 레지스터를 사용하여 해결함.
    베이스 레지스터: 메모리에서 프로그램이 사용하는 데이터와 명령어의 시작 주소를 저장하는 레지스터
728x90
반응형

'운영체제 > 1. 운영체제란?' 카테고리의 다른 글

1.3 운영체제의 구조  (0) 2024.09.23
1.1 운영체제란?  (0) 2024.09.23
728x90
반응형

운영체제란?

사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다.

운영체제 사용하는 곳

개인 컴퓨터: Windows, MacOS
대형 컴퓨터, 서버: 유닉스, 리눅스
스마트폰, 태블릿: 안드로이드, IOS
내비게이션, 냉장고, 세탁기 등등: 임베디드 운영체제

사실 운영체제가 없어도 잘 동작하기는 함
=> 하지만 유연하지 못함(처음 설계한 대로만 동작함)

EX) 옛날 유선 전화기는 전화만 가능했지만, 운영체제가 존재하는 현대의 휴대폰은 애플리케이션을 설치해 기능을 추가할 수 있음.


운영체제가 하는 일

  1. 프로세스 관리
    인터넷을 켜놓고 노래를 들으면서 게임을 할 수 있음(전부 동시에 할 수 있음)
    => 만약 운영체제가 관리를 하지 않는다면 특정 기능이 CPU를 독차지해서 기능들이 실행되지 않을 수 있음.
  2. 메모리 관리
    모든 프로그램은 메모리에 올라와서 동작하기에 이를 관리함.
  3. 하드웨어 관리
    운영체제는 사용자의 하드웨어에 대한 직접적인 접근을 막음. 사용자가 하드디스크에 데이터를 저장할 때, 하드디스크의 특정 영역에 바로 저장하지 못하게 하고, 운영체제가 판단해서 적절한 위치에 저장함.
  4. 파일 시스템 관리
    파일들의 효율적인 저장과 관리를 함.
728x90
반응형

'운영체제 > 1. 운영체제란?' 카테고리의 다른 글

1.3 운영체제의 구조  (0) 2024.09.23
1.2 운영체제의 역사  (0) 2024.09.23

+ Recent posts