프로그래밍(101)
-
[OS] 프로세스 스케줄링 - 배치 처리 시스템, 시분할 시스템, 멀티태스킹
21-09-21 추가 "운영체제 역사" 포스팅에서 정리했던 시대별 프로세스 스케줄링 https://jeleedev.tistory.com/104 [OS] 운영체제 역사 (1950년대 ~ 최근) 💻 1950년대 ENIAC : 최초의 현대적 컴퓨터 (진공관 기반의 컴퓨터. 제 1세대 컴퓨터) 운영체제 없었음 하나의 응용 프로그램 실행 운영체제가 아직 없었기 때문에 응용 프로그램이 시스템 자원을 jeleedev.tistory.com ⚡ 프로세스 스케줄링 배치 처리 시스템, 시분할 시스템, 멀티 태스킹, 멀티 프로세싱, 멀티 프로그래밍 실제로는 시분할 시스템, 멀티 프로그래밍, 멀티 태스킹이 유사한 의미로 통용된다. 💡 배치 처리 시스템(Batch processing sytem) 컴퓨터 프로그램 실행 요청순서에 ..
2020.12.20 -
[OS] 운영체제의 계층구조, 사용자와 커널 모드
⚡ 계층구조 쉘(Shell) - 사용자가 OS기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 응용 프로그램 - 쉘은 터미널 환경(CLI)과 GUI환경 두 종류로 분류 API - 응용프로그램을 위한 인터페이스 - 프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템 콜을 기반으로 API를 제공- 함수로 제공 - 보통은 함수의 종류가 많기 때문에 라이브러리 형태로 제공 **Library: 여러 함수들(API)을 종류별로 묶어서 제공하는 것 시스템 콜 - 운영체제가 운영체제의 각 기능을 사용할 수 있도록 시스템 콜이라는 함수를 제공 - API 내부에는 시스템콜을 호출하는 형태로 구현 - 커널모드로 실행하려면, 반드시 시스템 콜을 사용해야함. ⚡ 사용자와 커널모드 사용자 모드(user mode): ..
2020.12.20 -
[OS] 운영체제 역할
운영체제 역할 1. 시스템자원(System Resource) 관리 ◦시스템 자원 = 컴퓨터 하드웨어 ◦만약 OS가 없다면 ‣ CPU(중앙처리장치): 각 프로그램이 얼마나 CPU를 사용할지 결정할 수 없음. ‣ Memory: 각 프로그램이 어느 주소에 저장되어야 하는지, 어느정도의 메모리 공간을 확보해줘야 하는지 결정할 수 없음. ‣ 저장매체(HDD, SDD): 어떻게, 어디에 저장할 지 결정할 수 없음. ‣ 마우스, 키보드: 스스로 표시 할 수 없음. 2. 응용프로그램을 관리 ◦응용프로그램을 실행 ◦응용프로그램 간의 권한관리(ex 관리자 권한 실행) ◦응용프로그램을 실행하는 사용자 관리(ex 로그인) 3. 사용자와 컴퓨터간의 커뮤니케이션 지원 ◦사용자 OS 하드웨어
2020.12.20 -
[설비통신] 지멘스설비(840D PL)와의 통신 문제
기록용 지멘스 설비모델: 840D PL 히스토리 설비가 오래된 모델이라 PLC모듈이 없음. 보통 지멘스설비에 통신모듈로 CP343-1 모듈을 사용하는데 이 설비(가공기)는 오래된 설비라 PLC가 없어서 PCU50이 PLC역할을 대신 함. 설비의 데이터를 가져오기 위해서 PCU50에서 설비와 통신해서 데이터를 수집하는 데몬을 돌리고 있는데 Prodave 라이브러리를 사용해서 MPI통신으로 가져옴. 문제 가끔씩 설비와 연결이 안되는 현상 발생. 데몬을 재시작해도 연결이 안됨. Error Code: 00CA Error Message: 'no resources available' -해결을 위한 시도 1 의심: C++로 작성된 dll에서 메모리 누수 Prodave라이브러리 참조해서 사용할 때 프로그램에서 바로 참..
2020.12.08 -
[SW Expert Academy] 1213. String- Java
[SWEA] 1213. [S/W 문제해결 기본] 3일차 - String 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14P0c6AAUCFAYi&categoryId=AV14P0c6AAUCFAYi&categoryType=CODE 문제풀이 1. indexOf( String str, int fromIndex )를 이용하여 특정문자열을 찾는다. -fromIndex 위치부터 str문자가 있는 위치를 검색하게 된다. 2. Scanner함수의 next()와 nextLine() 쉬워서 바로 풀릴 줄 알았는데 시간초과가 떠서 알아보니 nextLine()으로 문자열을 받고 있어서 였다. -next() 공백을 기준으로 입력받..
2019.08.29 -
[SW Expert Academy] 1209. Sum- Java
[SWEA] 1209. [S/W 문제해결 기본] 2일 차 - Sum 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13_BWKACUCFAYh&categoryId=AV13_BWKACUCFAYh&categoryType=CODE 문제풀이 전체소스 import java.util.*; public class Solution { public static int nums[][] = new int[100][100]; public static int max= -1; public static void main(String[] args) { Scanner sc = new Scanner(System.in); for(int t=..
2019.08.13