OS(5)
-
[OS] Operating System Structure
OS를 설계, 구현함에 있어 해결하지 못한 문제가 많지만 일부분만 접근한다면 해결될 수 있다. 접근 방식 사용자 측면 운영 체제는 사용하기 편하고, 배우기 쉬우며 신뢰할 수 있고, 안전하며 빠릅니다. 시스템 측면 운영 체제는 쉽게 설계, 구현, 유지 관리가 용이하고, 유연하고, 안정적이며, 오류가 없고, 효율적이어야 합니다. OS Structure Simple structure 계층화 X 모듈화 X 하드웨어 프로텍션 X -> 응용프로그램이 하드웨어를 건들여 망가질 가능성 높음 현재는 거의 사용되고 있지 않다. Layered approach(계층화 구조) 하부에서 상부 X 상부에서 하부 O 장점 현재 레이어만 신경 쓰면 되므로 구조가 간단하다. 디버깅이 쉽다. Microkernel(최소한의 커널) 핵심적인..
2020.06.07 -
[OS] Operating System Services
For Users Interface 하드웨어 인터페이스 컴퓨터와 컴퓨터 즉, 하드웨어 간의 통신을 위한 인터페이스 소프트웨어 인터페이스 소프트웨어 간의 통신을 위해 메시지를 달하는 방식 등이 결정된 것 사용자 인터페이스(User Interface) 컴퓨터와 사용자 사이의 상호작용 및 정보 교환을 위한 인터페이스 CLI(Command-Line Interface) - cmd 창에서처럼 command로 조작 Batch Interface - 일련의 명령어들이 적혀있는 파일을 처음부터 끝까지 연속적으로 실행 - 오류가 있더라도, 전체 파일의 실행이 끝나야 알 수 있음 GUI(Graphical User Interface) - 현재의 window 환경처럼 마우스 클릭으로 조작 프로그램 실행 프로그램을 로드하고, 실행..
2020.06.07 -
[OS] Multiprogramming
CPU의 성능은 증가하는데 기계적인 I/O 장치들의 속도는 이에 미치지 못하게 되었다. 그래서 CPU가 I/O장치를 기다리는 동안 다른 프로그램을 실행할 수 있도록 만들 필요성이 생겼다. 멀티 프로그래밍 항상 CPU와 I/O 장치를 사용 중인 상태로 유지하자!! HOW? job(code 및 data)들을 구성해 놓는다. job의 일부를 메모리에 저장해 놓고 하나씩 job을 선택하여 실행한다. I/O 작업 등으로 대기해야하는 경우 다른 job을 실행한다. Concepts CPU Scheduling 여러 작업이 동시에 준비되어있다면, CPU 스케줄링으로 실행할 작업을 선택한다. Job Scheduling 여러 작업을 메모리로 가져올 준비가 되어있지만, 메모리의 공간이 충분하지 않을 경우 Proccess 현재..
2020.06.07 -
[OS] 컴퓨터 하드웨어
CPU와 I/O 장치들은 bus로 연결되어 data를 주고받는다. bus란? 주소, 데이터 및 제어신호를 전달하는 병렬 wires 1. 시스템 버스 -> CPU와 I/O bridge를 연결 2. 메모리 버스 -> I/O bridge와 메모리를 연결 3. I/O 버스 -> 여러 I/O 장치끼리의 연결 I/O 장치들은 직접 시스템 버스에 접근할 수 없다. WHY? 다양한 I/O 들의 길이와 속도가 다양하기 때문에 데이터를 바로 전달하지 않고, device controller를 거쳐서 전달한다. device controller 란? CPU에서 내린 명령들을 저장하는 공간. I/O 장치들로 명령어를 바로 전달하지 않고, device controller에 저장 후 device controller에서 I/O 장치들..
2020.06.07 -
[OS] 운영체제(Operating System :: OS)란 무엇인가
OS란? 보편적인 정의는 없다. 그러나 OS의 역할을 살펴보면 다음의 두 가지로 말할 수 있다. 컴퓨터 하드웨어를 관리하는 프로그램이다!! I/O 장치에 access 파일에 access Accounting 오류 감지 프로그램의 실행을 제어한다!! 스케줄링 에러 보고 결국 OS는 응용 프로그램과 하드웨어 사이에 위치하여 하드웨어를 관리하고, 프로그램의 실행을 제어하는 프로그램이다. 운영체제의 목표는 무엇일까? 1. 사용자 프로그램의 사용과 문제들을 쉽게 해결한다. 2. 컴퓨터 시스템을 사용하기 편하게 만든다. 3. 하드웨어를 효과적으로 사용할 수 있게 한다. 즉, 컴퓨터를 사용함에 있어 좀 더 쉽고, 편하고, 효과적으로 사용할 수 있게 해주는 것이다. OS가 하는 일 1. 모든 자원을 관리한다. OS는 R..
2020.06.07